1.0.0
该门户网站正在开发中。文档的完整版本请看这里.
插件帮助保持用户设备上您的应用程序的最新版本。
当用户维持应用程序的最新状态 时,他们可以体验新功能并利用性能改进和错误修复。
您可以使用RuStore In-app updates 来显示应用程序更新过程,该过程支持后台下载和安装更新以及状态控制。例如,您可以提醒用户您的应用程序有新版本并建议进行更新。用户在更新下载期间可以继续使用您的应用程序。
用户流程示例
插件正确运作的条件
RuStore In-app updates 运行需要满足以下条件:
- Android操作系统版本7.0或更高。
- 用户设备上必须安装了RuStore。
- 用户设备上的RuStoreApp版本必须是最新的。
- 用户必须在 RuStore 中获得授权。
- RuStore应用程序必须被授权安装应用程序。
在项目中集成
要进行集成,请执行以下步骤:
- 从RuStore的官方gitflic仓库复制*'Plugins'文件夹的内容到您项目中的'Plugins'*文件夹。重启Unreal Engine,在插件列表中 (Edit → Plugins → Project → Mobile) ,选择"RuStoreAppUpdate"和"RuStoreCore"插件。
- 在 "YourProject.Build.cs" 文件中,将"RuStoreCore"和"RuStoreAppUpdate"模块添加到PublicDependencyModuleNames列表中。
- 在项目设置中 (Edit → Project Settings → Android) 设置 Minimum SDK Version 为不低于 24, Target SDK Version 为不低于31。
创建更新管理器
在调用库方法之前,需要创建一个更新管理器。
URuStoreAppUpdateManager::Instance()-\>Init();
有与管理器端的操作也可以通过Blueprints进行。初始化的示例:
调用Init()将对象绑定到场景的根部,如果之后不再计划使用该对象,为了释放内存,需要执行Dispose()方法。
调用 Dispose() 方法会将对象从根部解绑,并安全地完成所有已发送的请求。
反初始化
URuStoreAppUpdateManager::Instance()-\>Dispose();
blueprint实现:
如果您需要检查库的初始化情况,请使用 URuStoreBillingClient::Instance()->getIsInitialized()属性。如果库已初始化,其值为 true;如果尚未调用 Init,则为 false。
检查初始化情况
URuStoreAppUpdateManager::Instance()-\>getIsInitialized();
检查更新的可用性
在请求更新之前,请检查您的应用是否有更新可用。要检查更新的可用性,请调用 GetAppUpdateInfo()
方法。调用此方法时,将检查以下条件:
- 用户设备上必须安装了RuStore。
- 用户设备上的RuStoreApp版本必须是最新的。
- 用户必须在 RuStore 中获得授权。
- 用户和应用程序不应在RuStore中被封锁。
- RuStore应用程序必须被授权安装应用程序。
响应此方法时,您将获得一个 AppUpdateInfo
对象,其中包含有关更新需求的信息。请提前请求此信息,以便在用户方便的时间无延迟地请求用户启动更新下载。
调用方法 getAppUpdateInfo() 示例
long requestId = GetAppUpdateInfo( \`\`\[\]( long requestId, TSharedPtr\<FURuStoreAppUpdateInfo, ESPMode::ThreadSafe\> response) { \`\`// Process response \`\`}, \`\`\[\]( long requestId, TSharedPtr\<FURuStoreError, ESPMode::ThreadSafe\> error) { \`\`// Process error \`\`});
blueprint实现:
Success回调返回AppUpdateInfo
结构体,在Response
参数中:
AppUpdateInfo
对象包含一组参数,这些参数是确定更新可用性所必需的:
updateAvailability
- 更新的可用性:UPDATE_NOT_AVAILABLE
- 不需要更新。UPDATE_AVAILABLE
- 需要下载更新或用户设备上已下载更新。DEVELOPER_TRIGGERED_UPDATE_IN_PROGRESS
- 更新已在下载或安装已启动。UNKNOWN
- 默认状态。
installStatus
- 如果用户当前正在安装更新,则为更新安装状态:DOWNLOADED
- 已下载。DOWNLOADING
- 正在下载。FAILED
- 错误。INSTALLING
- 正在安装。PENDING
- 等待中。UNKNOWN
- 默认状态。
有当 updateAvailability 字段包含 UPDATE_AVAILABLE值时,才能启动更新下载。
Failure 回调返回 FURuStoreError 结构体,包含错误信息,在Error参数中。更多信息可以在"可能的错误"部分找到。
获取AppUpdateInfo
后,可以使用CheckIsImmediateUpdateAllowed()
方法检查强制更新的可用性。
调用方法 CheckIsImmediateUpdateAllowed() 示例
bool available = URuStoreAppUpdateManager::Instance()-\>CheckIsImmediateUpdateAllowed();
blueprint实现:
下载更新
要启动应用程序更新的下载,请调用StartUpdateFlow()方法。