跳到主要内容

游戏更新

由于不同运行平台和发行版本的更新方式不同,Combo SDK 提供聚合游戏更新能力,统一处理渠道更新、浏览器下载和应用商店跳转。

游戏侧负责检测游戏产物是否有新版本、判断是否提示玩家更新;该判断既适用于强制更新,也适用于非强制更新。SDK 仅负责执行当前发行版本对应的更新流程,不负责版本检测、更新提示策略或资源热更新。

聚合游戏更新

游戏侧已确定需要提示玩家更新时,调用 UpdateApp() 即可。游戏侧无需关心当前发行版本的具体更新方式。

SDK 会根据当前发行版本,采用渠道自更新、跳转系统浏览器下载或跳转应用商店更新等方式处理游戏更新。

信息

成功回调表示 SDK 已开始处理更新流程,不表示新版本已下载、安装或完成更新。成功后游戏侧应立即关闭 Loading;失败时应提示玩家重试,并提供手动更新的兜底方案。

支持平台

Android iOS Windows HarmonyOS

方法签名

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);
// 提示玩家重试,或引导玩家手动前往应用商店更新。
}
});

方法参数

ParameterRequiredTypeDescription
callbackTrueAction<Result<UpdateAppResult>>聚合游戏更新回调方法,用于接收更新流程发起结果

UpdateAppResult

UpdateAppResult 当前不包含返回字段。

Error

CodeSupported PlatformsDescription
NETWORK_ERRORAndroid iOS Windows HarmonyOS网络错误
SERVER_ERRORAndroid iOS Windows HarmonyOS服务端错误
UNKNOWN_ERRORAndroid iOS Windows HarmonyOS未知错误
USER_CANCELLEDAndroid玩家取消渠道更新

发行版本自有更新唤起(已弃用)

本接口已弃用,计划于 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
{
// 更新游戏功能不可用,游戏可自行实现更新游戏逻辑
}

方法参数

ParameterRequiredTypeDescription
callbackTrueAction<Result<UpdateGameResult>>更新游戏回调方法,用于接收更新游戏接口回调结果

UpdateGameResult

PropertiesSupported PlatformsTypeDescription

Error

CodeSupported PlatformsDescription
NETWORK_ERRORAndroid网络错误
SERVER_ERRORAndroid服务端错误
UNKNOWN_ERRORAndroid未知错误
USER_CANCELLEDAndroid玩家取消渠道更新

获取下载链接

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);
// 游戏可进行兜底处理
}
});

方法参数

ParameterRequiredTypeDescription
callbackTrueAction<Result<DownloadUrlResult>>获取下载地址回调方法,用于接收下载地址并进行处理

DownloadUrlResult

PropertiesSupported PlatformsTypeDescription
downloadUrlAndroid iOS Windows HarmonyOSstring发行版本或发行版本分包对应的下载地址

Error

CodeSupported PlatformsDescription
NETWORK_ERRORAndroid iOS Windows HarmonyOS网络错误
SERVER_ERRORAndroid iOS Windows HarmonyOS服务端错误
UNKNOWN_ERRORAndroid iOS Windows HarmonyOS未知错误