菜单

设置深度链接

开发者可以通过创建深度链接来将用户转到应用中的特定页面。如果用户已在设备上安装您的应用,SE SDK 会转向链接中指定的页面。用户通过链接打开应用后,SDK 就可以读取深度链接数据了,具体步骤如下:

查看 SolarEngine 后台配置

universal link 示例为:test1.link.solar-engine.com

URL Scheme 示例为:test1://

 

配置 Universal Link

iOS 工程选择 TARGETS > Signing & Capabilities > Associated Domains ,打开 Associated Domains 开关并在 Domains 中填入在 SolarEngine 后台配置的 Universal Link 域名

 

配置 URL Scheme

iOS 工程选择 TARGETS > Info > URL Types,点击加号 (+),设置唤起 App 的 URL Schemes。内容为 SolarEngine 后台配置URL Scheme 信息

 

代码支持 Universal Link 和 URL Scheme 解析

在 SDK 中配置 Universal Link URL 和 Scheme后,就可以通过 Universal Link 和 URL Scheme 唤起 App。在 AppDelegate 中实现下列方法监听 DeepLink 唤起。

deeplink url 解析方法

- (void)appDeeplinkOpenURL:(NSURL *)url; 

参数说明:

url: iOS 系统回调的 url

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
        
    [[SolarEngineSDK sharedInstance] appDeeplinkOpenURL:url];
    return YES;
}

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
    
    [[SolarEngineSDK sharedInstance] appDeeplinkOpenURL:userActivity.webpageURL];
    return YES;
}

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    
    [[SolarEngineSDK sharedInstance] appDeeplinkOpenURL:url];
    return YES;
    
}

 


获取回调参数

回调方法

- (void)setDeepLinkCallback:(SEDeeplinkCallback)callback;

回调参数说明:

SEDeeplinkInfo 对象说明

参数名称 参数含义 参数类型
sedpLink 跳转参数 NSString
turlId 7位短链 NSString
from 链接类型 NSString
customParams 自定义参数 NSDictionary

code 错误码:

错误码 错误原因
0 成功
1 URI 非法或为空
2 URI 参数解析错误

调用示例

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    
    [[SolarEngineSDK sharedInstance] setDeepLinkCallback:^(int code, SEDeeplinkInfo * _Nullable deeplinkInfo) {
       
        if (code == 0) {
            // 回调成功
            NSLog(@"from: %@, sedpLink: %@",deeplinkInfo.from,deeplinkInfo.sedpLink);
        } else {
            // 回调失败
            NSLog(@"code: %d",code);
        }
        
    }];
    
    SEConfig *config = [[SEConfig alloc] init];
    [[SolarEngineSDK sharedInstance] preInitWithAppKey:@"your_appKey"];
    [[SolarEngineSDK sharedInstance] startWithAppKey:@"your_appKey" config:config];
    
    return YES;
}
 

 

 

上报deeplink唤醒事件

开发者可以通过上报 deeplink 唤醒成功事件来进行拉活归因和业务分析。

注:如果使用了SDK的deeplink功能,调用了 appDeeplinkOpenURL 接口,则无需调用 trackAppReEngagement: 方法

 

方法示例

- (void)trackAppReEngagement:( NSDictionary * _Nullable)customProperties;

 

调用示例

    NSDictionary *customProperties = @{@"test_key":@"xxx"};
    [[SolarEngineSDK sharedInstance] trackAppReEngagement:customProperties];

 

 

 

最近修改: 2024-09-13Powered by