应用链接
Combo SDK 提供了对应用链接功能的支持:
- 在 Android 平台支持 App Links。
- 在 iOS 平台支持 Universal Links。
- 在 HarmonyOS 平台支持 App Linking。
通过这些机制,开发者可以实现如下功能:
- 深度跳转(Deep Linking):用户点击网页或其他应用中的链接时,可以直接跳转并打开 App 内的特定页面,而不是仅仅启动 App。
- 统一的链接管理:同一个链接既可在浏览器中打开,也可以唤起已安装的 App,无需使用自定义 URI Scheme。
- 增强安全性:App Links 和 Universal Links 及 App Linking 都基于 HTTPS 并通过验证机制确保链接只能被指定 App 处理,防止钓鱼攻击或恶意跳转。
Combo SDK 已封装并简化了相关配置流程,帮助开发者快速集成 App Links / Universal Links / App Linking 功能,无需深入了解各平台底层实现。
支持平台
深度链接回调
Android
使用 Unity 的 Deep Linking API 处理游戏被 Deep Link 唤起时的回调。
iOS
使用 Unity 的 Deep Linking API 处理游戏被 Deep Link 唤起时的回调。
HarmonyOS
使用 Combo SDK 的 API OnDeepLinkActivated
来处理游戏被 Deep Link 唤起时的回调。
提示
- 游戏需要尽早调用
OnDeepLinkActivated
来注册回调,推荐在单例管理类的Awake()
方法中调用。 OnDeepLinkActivated
仅支持 HarmonyOS 平台。在其他平台上,传入此 API 的 callback 永远不会接收到回调。
方法签名
public static void OnDeepLinkActivated(Action<string> callback);
方法参数
Parameter | Required | Type | Description |
---|---|---|---|
callback | True | Action<string> | 当游戏通过 Deep Link 被唤起时调用的回调函数。回调参数为 Deep Link URL,开发者可以根据这个 URL 执行跳转场景或其他逻辑。 |
代码示例
Show Code
private void Awake()
{
ComboSDK.OnDeepLinkActivated((url) =>
{
// 处理收到的 Deep Link URL
Log.I("Game received deep link: " + url);
// 示例:根据 URL 跳转场景
// string sceneName = url.Split('?')[1];
// SceneManager.LoadScene(sceneName);
});
}
Xcode 配置
iOS 平台需要对 Xcode 工程做以下配置:
- 添加 Capability Associated Domains。
- 在 Domains 中添加 applinks,该值请联系世游技术团队获取。
以上配置长期有效,除非另行沟通,否则后续的 iOS 版本都需要包含上述配置。
配置完毕后,需要使用世游提供的 Distribution 证书出包,在 iOS 设备上 Safari 或备忘录中访问链接 https://applinks/app
测试唤起游戏客户端。