网友通过本文主要向大家介绍了android应用宝,android 跳转应用宝,应用宝下载送流量,大王卡应用宝免流量,应用宝免流量等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
Android:应用宝省流量更新
应用宝省流量更新介绍
应用宝省流量更新(SDK),是应用宝提供给开发者轻松实现应用省流量更新的功能,可以帮助开发者缩短更新过程,提高应用下载量。在每次应用升级更新时,只需更新部分数据而无需下载完整大小的安装包,帮用户节省了流量,也大大提高了产品升级速度。
注册开发者
进入腾讯开放平台
点击移动应用
,进入登录界面
使用QQ号码登录或注册新账号,登录后进入注册开发者界面,可选择注册为个人或公司开发者
创建应用
注册成功后,进入管理中心,点击创建应用
填写应用信息,提交审核
实现省流量更新
邮件申请渠道号
添加引用TMAssistantSDK_selfUpdate_201407240950
修改AndroidManifest.xml
添加服务
添加权限
添加检查更新代码
SoftwareUpgrade.java
软件升级管理对象
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Handler;
import android.os.Looper;
import android.view.View;
import com.tencent.tmassistantsdk.common.TMAssistantDownloadSDKTaskState;
import com.tencent.tmassistantsdk.selfUpdateSDK.ITMSelfUpdateSDKListener;
import com.tencent.tmassistantsdk.selfUpdateSDK.TMSelfUpdateSDK;
import com.tencent.tmassistantsdk.selfUpdateSDK.TMSelfUpdateSDKUpdateInfo;
import java.text.DecimalFormat;
/**
* 软件升级,利用应用宝的接口进行软件版本检查、软件升级
*/
public class SoftwareUpgrade {
private Context ctx = null;
private static final String TAG = "SoftwareUpgrade";
/**
* AppID,应用上线后获得
*/
private static final long APP_ID = 0000000000;
/**
* 渠道ID,邮件申请省流量更新后获得
*/
private static final String CHANNEL_ID = "0000000";
/**
* 省流量更新SDK
*/
private TMSelfUpdateSDK sdk = null;
/**
* 线程操作对象
*/
private Handler handler = null;
/**
* 是否需要提醒更新(自动检查更新时需要)
*/
private boolean isNeedNotify = false;
/**
* 软件更新的信息
*/
private SoftwareUpdateInfo updateInfo = null;
public static SoftwareUpdateInfo getUpdateInfo() {
if (instance != null) {
return instance.updateInfo;
}
return null;
}
/**
* 更新提示对话框
*/
private UpgradeDialog updateDialog = null;
/**
* 单例模式
*/
private static SoftwareUpgrade instance = null;
public static SoftwareUpgrade getInstance() {
if (instance == null) {
instance = new SoftwareUpgrade();
}
if (instance.sdk == null) { // 初始化失败,无法使用自动更新功能
instance = null;
}
return instance;
}
/**
* 初始化检查更新(软件启动时调用)
*/
private SoftwareUpgrade() {
// 得到主线程的Looper实例
Looper looper = Looper.getMainLooper();
handler = new Handler(looper);
try {
sdk = TMSelfUpdateSDK.getInstance();
sdk.initTMSelfUpdateSDK(App.getInstance().getApplicationContext()
, APP_ID, CHANNEL_ID, selfUpdateSDKListener);
} catch (Exception ex) {
sdk = null;
LogUtil.d(TAG, "Init TMSelfUpdateSDK failed!");
}
}
/**
* 释放(退出软件时调用)
*/
public static void release() {
if (instance != null && instance.sdk != null) {
instance.sdk.destroySelfUpdateSDK(instance.selfUpdateSDKListener);
instance = null;
}
}
/**
* 检查软件是否需要更新(静默检查,不弹出提示对话框)
*/
public static void checkNeedUpdate() {
if (instance != null && instance.sdk != null) {
instance.isNeedNotify = false;
instance.sdk.checkNeedUpdate();
}
}
/**
* 检查软件是否需要更新(若有更新,则提醒用户更新)
*/
public static void checkNeedUpdateNeedNotify(Context context) {
if (instance != null && instance.sdk != null) {
instance.ctx = context;
instance.isNeedNotify = true;
instance.sdk.checkNeedUpdate();
}
}
/**
* 开始省流量更新
* 1、弹出更新信息对话框,询问用户是否更新
* 2、若未安装应用宝,询问用户是否安装
* 3、跳转到应用宝更新软件
* @param ctx
*/
public static void startSaveUpdate(final Context ctx) {
if (instance != null && instance.sdk != null) {
instance.updateDialog = new UpgradeDialog(ctx);
instance.updateDialog.setVersion(instance.updateInfo.newVersion);
instance.updateDialog.setUpdateContent(instance.updateInfo.updateContent);
instance.updateDialog.setUpdateSize(instance.updateInfo.updateSize);
instance.updateDialog.setUpdateButtonOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
// 检查应用宝是否安装
int yybInstalled = instance.sdk.checkYYBInstalled();
if (yybInstalled == TMAssistantDownloadSDKTaskState.UN_INSTALLED) {
// 未安装应用宝,提示用户需要安装应用宝
DialogUtil.showWarnDialog(ctx,
R.string.msg_no_yyb, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
instance.sdk.startSaveUpdate(ctx);
}
});
} else {
// 打开应用宝更新
instance.sdk.startSaveUpdate(ctx);
instance.updateDialog.dismiss();
}
} catch (Exception e) {
LogUtil.e(e);
}
}
});
}
}
/**
* 省流量更新调用
* 应用宝已经下载安装完毕,回到调用方的页面,调用方可以选择是否调用该方法,call起应用宝下载管理页去更新
*/
public static void onResume() {
if (instance != null &&