获取DeepLink透传参数
业务场景
投放业务需要通过外部链接跳转游戏内,或者跳转应用市场下载游戏。
注意事项
- 该功能用于用户点击链接后自动打开应用,且可在应用内获取到被点击链接中的参数。场景举例(不限于):
- 老用户回归奖励 > 我方生成召回链接,用户点击链接后下载游戏并进入,游戏方通过 SDK 获取链接参数后按规则打开回归奖励页面
- 用户邀请奖励 > 用户在游戏中点击按钮生成邀请链接(带上邀请码),并通过分享邀请新用户,新用户点击链接后下载游戏并进入,游戏方通过 SDK 获取参数(邀请码)后按规则发放奖励
- 以下情况均支持获取链接中的参数:
- 用户未安装应用,点击链接后跳转应用商店下载,启动应用并进入(模拟 SDK 不支持,替换正式 SDK 上线后支持)
- 用户已安装应用,且应用未启动,通过点击链接拉起应用并进入;
- 用户已安装应用,且应用正在运行,通过点击链接跳转应用中;
- 获取所有 DeepLink 参数 - 注意事项:
- 建议用户登录后调用此接口获取参数
- 如果用户在应用运行时点击了多条深度链接,此接口会返回所有 DeepLink 参数
- 当前为模拟 SDK,可能出现点击链接无法跳转 App 的情况,可以尝试将链接转为二维码后扫码触发
适用范围:海外 iOS
流程图
无
接口介绍
/**
* 获取DeepLink参数【建议登录后调用】
*【iOS】海外
*/
- (NSDictionary *)getDeeplinkParams;
调用示例
// 监听回调通知
// deeplink回调通知【建议初始化前调用】
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onGetDeeplinkSuccess:) name:NOTIFICATION_DEEPLINK_SUCCESS object:nil];
// 接口调用
NSDictionary *deepLinkParams = [[SDKManager getInstance] getDeeplinkParams];
if([deepLinkParams objectForKey:@"recall"]){
NSString *recallValue = deepLinkParams[@"recall"];
// 根据规则和需求判断是否发放找回奖励
}
if ([deepLinkParams objectForKey:@"invitation"]) {
NSString *invitationCode = deepLinkParams[@"invitation"];
// 根据规则和需求判断是否发放邀请奖励(邀请用户和被邀请用户)
}
// 回调方法
- (void)onGetDeeplinkSuccess:(NSNotification *)notif
{
NSDictionary *deepLinkParams = notif.userInfo;
if([deepLinkParams objectForKey:@"recall"]){
NSString *recallValue = deepLinkParams[@"recall"];
// 根据规则和需求判断是否发放找回奖励
}
if ([deepLinkParams objectForKey:@"invitation"]) {
NSString *invitationCode = deepLinkParams[@"invitation"];
// 根据规则和需求判断是否发放邀请奖励(邀请用户和被邀请用户)
}
}
参数说明
返回获取参数说明:
Key: 功能名或场景名,不能为空;
Value: 参数,可为空
错误码
无
FAQ
无