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

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

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、蒲公英基础使用方法

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 版本号写入本地文件中,以便下次用于版本更新的判断。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值