本文介绍如何添加与发布管理功能相关的升级 SDK。添加 SDK 并完成相关配置后,在 mPaaS 控制台发布 App 的新版本,客户端可以通过升级接口检测到该新版本,进而提醒用户下载更新。
目前,升级 SDK 支持 原生 AAR 接入 和 组件化接入 两种接入方式。
整个过程分为以下四步:
添加 SDK
工程配置
初始化 mPaaS(仅原生 AAR 接入需要)
升级检测
前置条件
若采用原生 AAR 方式接入,需要先 mPaaS 添加到您的项目中。
若采用组件化方式接入,需要先完成 组件化接入流程。
添加 SDK
原生 AAR 方式
在工程中通过 组件管理(AAR) 在工程中安装 升级(UPGRADE)组件。更多信息,参考 管理组件依赖。
组件化方式
在 Portal 和 Bundle 工程中通过 组件管理 安装 升级(UPGRADE) 组件。更多信息,参考 添加组件依赖。
工程配置
配置 AndroidManifest
在
AndroidManifest.xml
文件中添加以下权限:<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
在
AndroidManifest.xml
文件中添加以下配置。将通配符
${applicationId}
替换为真实的包名。例如,将${applicationId}.fileprovider
替换为com.mpaas.mobiledeliveryservice.fileprovider
。<provider android:name="android.support.v4.content.FileProvider" android:authorities="${applicationId}.fileprovider" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/file_paths" /> </provider>
说明更多关于配置
AndroidManifest.xml
的信息,请参见 应用清单概览。在 Portal 工程主 module 的
src/main/res/xml
目录下创建文件file_paths.xml
,文件内容为:<?xml version="1.0" encoding="utf-8"?> <resources> <paths> <external-files-path name="download" path="com.alipay.android.phone.aliupgrade/downloads" /> <external-path name="download_sdcard" path="ExtDataTunnel/files/com.alipay.android.phone.aliupgrade/downloads" /> </paths> </resources>
添加资源
如果您使用的是原生 AAR 接入方式,则需要将以下资源加入到您的应用当中,否则将无法正常使用升级组件。点击此处 获取资源文件。
其中,将 values
目录下 strings.xml
、styles.xml
、colors.xml
的内容合并即可。
初始化 mPaaS
如果您使用原生 AAR 接入方式,则需要初始化 mPaaS。
在 Application
对象中添加以下代码:
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
// mPaaS 初始化
MP.init(this);
}
}
详情请参考:初始化 mPaaS。
快速升级检测
快速检测新版本,仅返回检测结果:
MPUpgrade mMPUpgrade = new MPUpgrade();
// 同步方法,子线程中调用
int result = mMPUpgrade.fastCheckHasNewVersion();
if (result == UpgradeConstants.HAS_NEW_VERSION) {
// 有新版本
} else if (result == UpgradeConstants.HAS_NO_NEW_VERSION) {
// 没有新版本
} else if (result == UpgradeConstants.HAS_SOME_ERROR) {
// 错误
}