网友通过本文主要向大家介绍了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 &&
 
