获取DeepLink透传参数

业务场景

投放业务需要通过外部链接跳转游戏内,或者跳转应用市场下载游戏。

注意事项

  1. 该功能用于用户点击链接后自动打开应用,且可在应用内获取到被点击链接中的参数。场景举例(不限于):
    1. 老用户回归奖励 > 我方生成召回链接,用户点击链接后下载游戏并进入,游戏方通过 SDK 获取链接参数后按规则打开回归奖励页面
    2. 用户邀请奖励 > 用户在游戏中点击按钮生成邀请链接(带上邀请码),并通过分享邀请新用户,新用户点击链接后下载游戏并进入,游戏方通过 SDK 获取参数(邀请码)后按规则发放奖励
  2. 以下情况均支持获取链接中的参数:
    1. 用户未安装应用,点击链接后跳转应用商店下载,启动应用并进入(模拟 SDK 不支持,替换正式 SDK 上线后支持)
    2. 用户已安装应用,且应用未启动,通过点击链接拉起应用并进入;
    3. 用户已安装应用,且应用正在运行,通过点击链接跳转应用中;
  3. 获取所有 DeepLink 参数 - 注意事项:
    1. 建议用户登录后调用此接口获取参数
    2. 如果用户在应用运行时点击了多条深度链接,此接口会返回所有 DeepLink 参数
    3. 当前为模拟 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