集成SDK
最后更新:2024/06/05
了解如何初始化和开始使用SDK
开始前准备
- 开始前必须先安装SDK
- 获取项目Id, projectId用来确定对应的APP。
- 获取项目的appKey和appSecret,用来进行SDK通讯的加密。
初始化ReactNative SDK
step.1 导入TurboLink
在你的主文件(如:App.tsx)导入TurboLinkSDK
import TurboLink from 'react-native-turbolink';
step.2 初始化TurboLink SDK
在主Component useEffect
处初始化SDK
// 打开活动页监听回调
// TurboLink.withCampaignCreateCallback(res => {
// console.log("Hi, withCampaignCreateCallback:" + res);
// })
// 活动页点击登录监听回调
// TurboLink.withLoginListenerCallback(res => {
// console.log("Hi, withLoginListenerCallback");
// navigation.navigate('Login');
// })
// 活动页点击事件触发监听回调
// TurboLink.withEventListenerCallback( (res) => {
// console.log("Hi, withEventListenerCallback:" + res.arguments + ",scheme:" + res.scheme + ",campaignUrl:" + res.campaignUrl + ",additionalParam:" + res.additionalParam);
// 关闭活动页
// TurboLink.closeCampaignPage();
// })
// 默认事件或自定义事件监听回调
// TurboLink.withEventCallback( res => {
// for (let key in res.linkData) {
// console.log("key:" + key + ", value:" + res.linkData[key]);
// }
// console.log("Hi, withEventCallback, linkHashId:" + res.linkHashId + ",blackBox:" + res.blackBox + ", deviceStatus:" + res.deviceStatus + ",linkData:" + res.linkData);
// })
// 活动页元素点击回调
// TurboLink.withPointListenerCallback(res => {
// console.log("withPointListenerCallback, campaignTitle:" + res.campaignTitle + ",targetScheme:" + res.campaignLang + ",campaignUrl:" + res.campaignUrl + ",user:" + res.user + ", position:" + res.position);
// })
// 分享监听,如监听,需自行实现自己拉起社媒的能力
// TurboLink.withShareListenerCallback(res => {
// console.log("withShareListenerCallback, campaignId:" + res.campaignId + ",targetScheme:" + res.targetScheme + ",noInstallPrompt:" + res.noInstallPrompt + ",shareLink:" + res.shareLink + ",shareText:" + res.shareText + ",sharingText: " + res.sharingText)
// })
// 关闭活动页监听
// TurboLink.withCampaignDestroyCallback(res => {
// console.log("withCampaignDestroyCallback: res:" + res)
// })
//
//
// TurboLink.setLaunchCampaignDelay(-1);
// TurboLink.loadDelayRedirectUrl();
// TurboLink.setNightMode(true);
// TurboLink.setInitTitle("Loading...");
// TurboLink.setTitleSize(16);
TurboLink.autoInstance('<你的项目ID>', '<你的项目appKey>', '<你的项目appSecret>');
iOS原生配置
为了支持Scheme和Universal Link,需要在iOS的AppDelegate.mm
文件处添加:
#import <RNTurboLink.h>
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
[[TurboLinkAttribution instance] handleOpenUrl:url sourceApplication:app options:options];
return YES;
}
-(BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
[[TurboLinkAttribution instance] handleOpenActivity:application userActivity:userActivity];
return YES;
}
Android原生配置
为了能够通过Scheme拉起app, 需要在Android原生配置有Scheme的Activity(通常是MainActivity.java
)添加 :
@Override
public void onNewIntent(Intent intent) {
super.onNewIntent(intent);
setIntent(intent);
}
设置用户ID和用户等级等参数
用户等级标识的设置可以用来配合活动的一系列玩法,比如:按等级发放不同的奖品
/**
* 所有参数都可以为空("")
*/
TurboLink.setAppUserInfo("<你的app用户ID/加密后的用户ID>", "<昵称>", "<用户头像URL>", ["<用户等级1>", "<用户等级2>"], "<邀请码>")
设置活动国际语言代码
通过设置活动语言可以改变活动页面的语言显示
TurboLink.setLang("<国际语言代码>");
使用简单模式获取DeviceId
如有需要发布到小米
应用商店,请使用简单模式获取DeviceId。
请在初始化TurboLink.autoInstance
方法前调用
TurboLink.setIdSimpleMode();
使用简单模式获取参数
如有需要发布到ViVo应用商店,请使用简单模式获取参数。
请在初始化TurbolinkSdk.autoInstance
方法前调用
TurboLink.setSimpleParameterMode();