iOS集成
导入 SDK
手动导入
下载LinkDeep.framework并导入工程中。(导入请选中 "Copy items if needed" )
CocoaPods
pod 'linkdeep-ios'
初始化
工程配置
假设分配的appkey
为exzljz
,groupkey
为mvgnaz
scheme配置
在Info.plist
文件中配置appKey
键值对,如下:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.link-deep.appkey</string>
<key>CFBundleURLSchemes</key>
<array>
<string>exzljz</string>
</array>
</dict>
<dict>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>CFBundleURLName</key>
<string>com.link-deep.groupkey</string>
<key>CFBundleURLSchemes</key>
<array>
<string>mvgnaz</string>
</array>
</dict>
</array>
或者
在Xcode里选中 Target -> Info -> URL Types中配置如下图所示:
在AppDelegate中,增加头文件的引用:
#import <LinkDeep/LinkDeep.h>
在AppDelegate中,继续加入一下初始化以及功能处理方法
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// 初始化方法,注册linkdeep服务
[[LinkDeepManager sharedInstance] registerService];
return YES;
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if ([[LinkDeepManager sharedInstance] shouldHandleWithOpenURL:url]) {
[[LinkDeepManager sharedInstance] handleWithOpenURL:url];
return YES;
} else {
// 处理其他第三方回调
return YES;
}
}
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
if ([[LinkDeepManager sharedInstance] shouldContinueUserActivity:userActivity]) {
[[LinkDeepManager sharedInstance] continueUserActivity:userActivity];
return YES;
} else {
// 处理其他第三方回调
return YES;
}
}
universal links 配置
openinstall 通过标准的 scheme(iOS<9),universal link(iOS≥9),在 app 已安装的情况下,从各种浏览器拉起 app 并传递动态参数,避免重复安装。
到苹果开发者网站,为当前的 App ID 开启关联域名(Associated Domains)服务。
创建新的(或更新现有的)描述文件,下载并导入到XCode中。
在 XCode 里 Target -> capabilities -> Associated Domains 中配置当前应用生成的关联域名(Associated Domains):
applinks:ul-exzljz.link-deep.com
和applinks:gul-mvgnaz.link-deep.com
功能接口调用
唤醒回调处理
[LinkDeepManager sharedInstance].wakeupParametersHandler = ^(NSDictionary * _Nonnull parameters) {
// 一旦应用linkdeep的推送网页唤醒过来将会调用此block
// parameters为唤醒参数
};
安装参数获取
[[LinkDeepManager sharedInstance] fetchInstallationParametersWithHandler:^(NSDictionary * _Nonnull parameters) {
// parameters为安装参数
// 安装参数不要擅自保存,建议每次需要的时候调用此方法fetchInstallationParametersWithHandler:
// iOS首次安装、首次启动的app,会询问用户获取网络权限,用户允许后SDK才能正常联网去获取参数。
}];