跳到主要内容

SDK集成

最后更新:2024/01/30
注意

通过SDK集成的方式可以快速接入Turbolink iOS SDK的功能,如果你想要更手动的方式接入,可以选择API的接入方式

SDK最小支持版本:iOS 12+

项目配置

为了顺利使用SDK,你需要在你的App项目中进行下述配置:

1.获取应用配置
2.添加info.plist配置

注:如果不想使用info.plist配置,可以直接在后面的步骤中使用代码配置

info.plist
<?xml version="1.0" encoding="UTF-8"?>
<plist version="1.0">
<dict>
<key>Turbolink Key</key>
<dict>
<key>App Key</key>
<string>你的项目AppKey</string>
<key>App Secret</key>
<string>你的项目AppSecret</string>
<key>Project</key>
<string>你的项目ProjectId</string>
</dict>
</dict>
</plist>

SDK安装

可以从以下的方式中选择一种合适的方式来安装SDK到你的APP。

Swift Package Manager
  1. 在APP项目中的Package Dependencies中点击"+"添加Swift Package。
  2. 输入以下的Package URL,点击添加。
https://github.com/Branchcn/TurboLinkFramework
CocoaPods
  1. 在APP项目中的打开podfile,如果还没有,请使用pod init创建。
  2. podfile文件中TurboLinkSDK依赖。
target 'APP_NAME' do
use_frameworks!
pod 'TurboLinkSDK', '~>1.0'
end
  1. 执行命令pod install && pod update完成依赖加载。

使用流程图

以AppDelegate为例,使用流程如下: usePool

快速使用

请根据你的项目使用的UI场景选择对应的使用方式,按照以下方式接入SDK后,默认将会在App使用的时候自动上报安装和打开事件。(如果你希望app启动后到首页再进行初始化及上报操作,你可以使用延迟初始化的方式)

若使用Objective-C,请使用桥接模式。

注:请在网络授权之后初始化TurboLink,否则有可能因为没有网络授权而埋点上报失败

SceneDelegate.m
#import "SceneDelegate.h"
#import "TurboLinkSDK/TurboLinkSDK-Swift.h"

@interface SceneDelegate ()

@end

@implementation SceneDelegate

- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
// 如果用户已登录,开启应用时设置当前登录用户id
[User setIdentityWithUserId:@""];
[[TurboLink initSessionWithOptions:connectionOptions] start];
}

- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity {
// 如果用户已登录,开启应用时设置当前登录用户id
[User setIdentityWithUserId:@""];
[TurboLink sceneWithContinue:userActivity];
}

- (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts{
// 如果用户已登录,开启应用时设置当前登录用户id
[User setIdentityWithUserId:@""];
[TurboLink sceneWithOpenURLContexts:URLContexts];
}

@end

使用代码配置项目参数

除了使用Info.plist配置项目参数外,你也可以使用代码进行配置。注:如果两者皆配置了参数,代码优先级更高

[Project setConfigWithProjectId:@"" appKey:@"" appSecret:@""];

延迟初始化的方式

如果你担心初始化放在application中会造成性能影响,可以使用延迟初始化的方式,把真正的初始化放到进入app之后(如进入首页)。

注:如果进入app有启动页/广告页,亦可以使用该方法规避活动页覆盖广告页显示问题。

#import "SceneDelegate.h"
#import "TurboLinkSDK/TurboLinkSDK-Swift.h"

//SceneDelegate.m
@implementation SceneDelegate
- (void)scene:(UIScene *)scene willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions *)connectionOptions {
[[TurboLink initSessionWithOptions:connectionOptions] delay];
}

//Home.m
- (void)viewDidLoad {
[super viewDidLoad];
//配置Turbolink相关数据...
[TurboLink delayStart];
}

进阶用法

通常为了更好的实现你的业务场景你可能会用到下面的用法:

调试日志

使用方法
// 开启调试日志
[DebugOptions enableLog];

粘贴板

使用方法
// 开启粘贴板配置
[PasteboardOptions enablePasteboard];
// 当检测到地址或者口令时获取弹窗授权 不设置时默认地址和口令都使用
[PasteboardOptions filterWithUri:YES code:YES];
// 设置需要弹窗授权的时机 install:安装完第一次打开时 open:每一次打开app时 redirect:通过链接跳转进入app时 reopen:切换app进入时 不设置时默认均不开启
[PasteboardOptions sceneWithInstall:YES open:YES redirect:YES reopen:YES];

用户管理

使用方法
// 设置当前登录用户id
[User setIdentityWithUserId:@""];
// 当用户存在等级体系时添加用户等级信息
[User setUserWithUserId:@"" nickName:@"" avatar:@"" inviteCode:@"" tags:@[]];
if TurboLink.isUrlBelongTurboLink(url: "https://xxx") {

}