1.0.1
该门户网站正在开发中.
- Kotlin
- Java
RuStore In-app updates SDK 支持用户设备上应用程序的最新版本。这有助于用户看到更新,评估性能改进和错误修复的结果。
使用 RuStore In-app updates SDK 实现各种更新方式。目前支持的更新方式包括:延迟更新、无界面(无 RuStore UI)和强制更新。
用户流程示例

SDK 正确运作的条件
RuStore In-app updates SDK 运行需要满足以下条件:
- Android操作系统版本6.0或更高。
- 用户的设备上安装了RuStore。
- 用户的设备上的 RuStore 版本是最新的。
- RuStore应用程序被授权安装应用程序。
在项目中集成
集成存储库:
repositories { \`\`maven { \`\`url = uri( \"https://artifactory-external.vkpartner.ru/artifactory/maven\" ) \`\`}}
集成依赖项
在您的配置文件中添加以下代码以集成依赖项:
build.gradle
\<br\>dependencies { \`\`implementation( \`"ru.rustore.sdk:appup
创建更新管理器
在调用库方法之前,需要使用工厂创建一个更新管理器。
val updateManager = RuStoreAppUpdateManagerFactory.create(context)
检查更新的可用性
在请求更新之前,请检查您的应用是否有更新可用。要检查更新的可用性,请调用 getAppUpdateInfo() 方法。调用此方法时,将检查以下条件:
- 用户设备上必须安装了RuStore。
- 用户设备上的RuStoreApp版本必须是最新的。
- 用户和应用程序不应在RuStore中被封锁。
响应此方法时,您将获得一个 AppUpdateInfo 对象,其中包含有关更新需求的信息。请提前请求此对象并对其进行缓存,以便在用户方便的时间无延迟地请求用户启动更新下载。
var appUpdateInfo: AppUpdateInfo? = nullupdateManager \`\`.getAppUpdateInfo() \`\`.addOnSuccessListener { info -\> \`\`appUpdateInfo = info \`\`} \`\`.addOnFailureListener { throwable -\> \`\`}
ppUpdateInfo 对象包含一组参数,这些参数是确定更新可用性所必需的:
updateAvailability- 更新的可用性:UPDATE_NOT_AVAILABLE (Int == 1)- 不需要更新。UPDATE_AVAILABLE (Int == 2)- 需要下载更新或用户设备上已下载更新。DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS (Int == 3)- 更新已在下载或安装已启动。UNKNOWN (Int == 0)- 默认状态。
installStatus- 如果用户当前正在安装更新,则为更新安装状态:DOWNLOADED (Int == 1)- 已下载。DOWNLOADING (Int == 2)- 正在下载。FAILED (Int == 3)- 错误。INSTALLING (Int == 4)- 正在安装。PENDING (Int == 5)- 等待中。UNKNOWN (Int == 0)- 默认状态。
有当 updateAvailability 字段包含 UPDATE_AVAILABLE 值时,才能启动更新下载。
方法可能返回错误。可能的错误
更新流程
强制更新
检查可用性
在获取 AppUpdateInfo 后,可以检查强制更新的可用性。
调用方法 registerListener() 示例
if (appUpdateInfo.isUpdateTypeAllowed(IMMEDIATE)) { \`\`TODO()}
议使用 isUpdateTypeAllowed 函数的结果来决定是否启动强制更新,但此结果不影响启动流程的可能性。更新流程的启动需求可以根据您的内部逻辑进行。
启动流程
调用方法 startUpdateFlow() 示例
updateManager \`\`.startUpdateFlow(appUpdateInfo, AppUpdateOptions.Builder().appUpdateType(IMMEDIATE).build()) \`\`.addOnSuccessListener { resultCode -\> \`\`} \`\`.addOnFailureListener { throwable -\> \`\`}
esultCode (Int) :
Activity.RESULT_OK (-1)- 更新完成,代码可能未被接收,因为应用程序在更新时会结束。Activity.RESULT_CANCELED (0)- 流程被用户中断或发生错误。当接收到此代码时,通常应终止应用程序。ActivityResult.ACTIVITY_NOT_FOUND (2)- RuStore 未安装,或安装的版本不支持强制更新(RuStore versionCode < 191)
hrowable - 启动更新流程的错误。更多错误列表可以在"可能的错误"部分找到。