利用蒲公英自动更新APP及其更新机制

本文介绍了如何利用蒲公英进行APP的自动更新,包括注册应用获取App Key、导入SDK、配置AndroidManifest等步骤。此外,详细阐述了蒲公英的自动更新机制,根据App版本号和自增Build版本号进行更新判定,并提到了初次安装时的版本判断处理。

一、蒲公英基础使用方法

1.在蒲公英上注册应用获取App Key

App Key:唯一标识一个应用的 Key,在蒲公英上的每一个 App 都有一个唯一的 App Key,开发者可以在应用管理页面首页查看。

2.导入SDK

1> 在project下的build.gradle文件中:

allprojects {
    repositories {
        jcenter()
        maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" }
    }
}

2> 在module下的build.gradle文件中添加依赖:

dependencies {
    compile 'com.pgyersdk:sdk:2.8.1'
}

3.配置AndroidManifest

<!-- 必选-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 获取网络状态 -->
<uses-permission android:name="android.permission.INTERNET" /> <!-- 网络通信-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />  <!-- 获取设备信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 获取MAC地址-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 读写sdcard,storage等等 -->

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >

<!-- 必选-->
    <meta-data
        android:name="PGYER_APPID"
        android:value="第一步中申请到的App Key" >
    </meta-data>
</application>

4.更新方法

import com.pgyersdk.javabean.AppBean;
import com.pgyersdk.update.PgyUpdateManager;
import com.pgyersdk.update.UpdateManagerListener;

PgyUpdateManager.register(MainActivity.this,
new UpdateManagerListener() {

   @Override
   public void onUpdateAvailable(final String result) {

     // 将新版本信息封装到AppBean中
     final AppBean appBean = getAppBeanFromString(result);
     new AlertDialog.Builder(MainActivity.this)
         .setTitle("更新")
         .setMessage("")
         .setNegativeButton(
                 "确定",
                 new DialogInterface.OnClickListener() {

                     @Override
                     public void onClick(
                             DialogInterface dialog,
                             int which) {
                         startDownloadTask(
                                 MainActivity.this,
                                 appBean.getDownloadURL());
                     }
                 }).show();
   }

   @Override
   public void onNoUpdateAvailable() {
   }
});

//解除注册
PgyUpdateManager.unregister();

二、蒲公英自动更新机制

蒲公英 SDK 的更新,是根据 App 本身的版本号和蒲公英自增 Build 版本号来判定更新的。这两个版本号中,任何一个检查到线上版本大于本地版本,都会提示更新。

具体判定顺序是:

第一步: 如果本地 App 本身的版本号小于蒲公英上的版本号,则提示更新。(注意:App 的本地版本号是指 VersionCode)

第二步: 如果本地 App 的蒲公英自增 Build 版本号(每上传一个新版本的应用则自动加1)小于蒲公英上版本的自增 Build 号,则提示更新。

在这两步中,任何一步如果判断出有新版本,都会提示更新。否则不会提示。

注意事项:

因为蒲公英的自增 Build 版本号 是不写入 App 内的。所以,对于手机上首次安装 App 来说,无论安装的是蒲公英上的哪个版本,SDK 都会认为该 App 本地的蒲公英自增 Build 版本号是当前蒲公英上最新版本的自增 Build 版本号。

因此,在 SDK 第一次启动时,会检查本地是否存在 蒲公英自增 Build 版本号,如果不存在,会调用蒲公英接口将最新的蒲公英自增 Build 版本号写入本地文件中,以便下次用于版本更新的判断。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值