游戏更新
由于不同运行平台和发行版本的更新方式不同,Combo SDK 提供聚合游戏更新能力,统一处理渠道更新、浏览器下载和应用商店跳转。
游戏侧负责检测游戏产物是否有新版本、判断是否提示玩家更新;该判断既适用于强制更新,也适用于非强制更新。SDK 仅负责执行当前发行版本对应的更新流程,不负责版本检测、更新提示策略或资源热更新。
聚合游戏更新
游戏侧已确定需要提示玩家更新时,调用 UpdateApp() 即可。游戏侧无需关心当前发行版本的具体更新方式。
SDK 会根据当前发行版本,采用渠道自更新、跳转系统浏览器下载或跳转应用商店更新等方式处理游戏更新。
信息
成功回调表示 SDK 已开始处理更新流程,不表示新版本已下载、安装或完成更新。成功后游戏侧应立即关闭 Loading;失败时应提示玩家重试,并提供手动更新的兜底方案。
支持平台
方法签名
public static void UpdateApp(Action<Result<UpdateAppResult>> callback);
代码示例
Show Code
ComboSDK.UpdateApp(r =>
{
if (r.IsSuccess)
{
// SDK 已发起渠道更新流程,或已跳转浏览器/应用商店。
// 如果调用前展示了 Loading,此处应立即关闭。
}
else
{
var error = r.Error;
Debug.LogError("发起游戏更新失败:" + error.DetailMessage);
// 提示玩家重试,或引导玩家手动前往应用商店更新。
}
});
方法参数
| Parameter | Required | Type | Description |
|---|---|---|---|
| callback | True | Action<Result<UpdateAppResult>> | 聚合游戏更新回调方法,用于接收更新流程发起结果 |
UpdateAppResult
UpdateAppResult 当前不包含返回字段。
Error
| Code | Supported Platforms | Description |
|---|---|---|
NETWORK_ERROR | 网络错误 | |
SERVER_ERROR | 服务端错误 | |
UNKNOWN_ERROR | 未知错误 | |
USER_CANCELLED | 玩家取消渠道更新 |
提示
发行版本自有更新唤起(已弃用)
本接口已弃用,计划于 2026 年第四季度移除,请使用 UpdateApp()。
警告
调用此方法前需要先调用 IsFeatureAvailable(),检查 UpdateGame() 是否可用。
方法签名
public static void UpdateGame(Action<Result<UpdateGameResult>> callback);
代码示例
Show Code
if (ComboSDK.IsFeatureAvailable(Feature.UPDATE_GAME))
{
// feature available
ComboSDK.UpdateGame( r =>
{
if (r.IsSuccess)
{
// 更新游戏成功
}
else
{
var error = r.Error;
Debug.LogError("更新游戏失败:" + error.DetailMessage);
// 游戏可进行兜底处理
}
});
}
else
{
// 更新游戏功能不可用,游戏可自行实现更新游戏逻辑
}
方法参数
| Parameter | Required | Type | Description |
|---|---|---|---|
| callback | True | Action<Result<UpdateGameResult>> | 更新游戏回调方法,用于接收更新游戏接口回调结果 |
UpdateGameResult
| Properties | Supported Platforms | Type | Description |
|---|---|---|---|
Error
| Code | Supported Platforms | Description |
|---|---|---|
NETWORK_ERROR | 网络错误 | |
SERVER_ERROR | 服务端错误 | |
UNKNOWN_ERROR | 未知错误 | |
USER_CANCELLED | 玩家取消渠道更新 |
提示
获取下载链接
GetDownloadUrl() 用于需要自行设计更新弹窗、下载或跳转逻辑的场景。游戏侧可获得该发行版本或发行版本分包对应的下载地址,再自行完成更新引导。
信息
该下载地址可能为商店的固定下载页面地址或将游戏产物上传至商店后台后返回的 APK 下载地址。
方法签名
public static void GetDownloadUrl(Action<Result<DownloadUrlResult>> callback);
代码示例
Show Code
ComboSDK.GetDownloadUrl(r =>
{
if (r.IsSuccess)
{
var downloadUrl = r.Data.downloadUrl;
// 游戏方自行实现更新唤起弹窗,并使用该地址引导玩家更新。
}
else
{
var error = r.Error;
Debug.LogError("获取 Download Url 失败:" + error.DetailMessage);
// 游戏可进行兜底处理
}
});
方法参数
| Parameter | Required | Type | Description |
|---|---|---|---|
| callback | True | Action<Result<DownloadUrlResult>> | 获取下载地址回调方法,用于接收下载地址并进行处理 |
DownloadUrlResult
| Properties | Supported Platforms | Type | Description |
|---|---|---|---|
| downloadUrl | string | 发行版本或发行版本分包对应的下载地址 |
Error
| Code | Supported Platforms | Description |
|---|---|---|
NETWORK_ERROR | 网络错误 | |
SERVER_ERROR | 服务端错误 | |
UNKNOWN_ERROR | 未知错误 |
提示