了解如何初始化和开始使用SDK

开始前准备

  • 开始前必须先安装SDK
  • 获取项目的ProjectId, projectId用来确定对应的APP。
  • 获取项目的AppKey和AppSecret,用来进行SDK通讯的加密。
  • 在Android Studio的AndroidManifest.xml文档的添加:
<application>
    // ...
    <meta-data
        android:name="ai.turbolink.sdk.appKey"
        android:value="你的项目appKey" />
    <meta-data
        android:name="ai.turbolink.sdk.appSecret"
        android:value="你的项目appSecret" />
    <meta-data
        android:name="ai.turbolink.sdk.projectID"
        android:value="你的项目ID" />
    // ...
</application>

或, 直接在初始化TurboLink SDK时带入(推荐

TurboLink.autoInstance(this, "<你的项目ID>"
    , "<你的项目appKey>"
    , "<你的项目appSecret>"
    , "<你的app用户ID/加密后的用户ID>"
    , null)

初始化Android SDK

在你的全局Application class导入TurboLinkSDK

import ai.turbolink.sdk.TurboLink

在你的全局Application class导入 ai.turbolink.sdk.TurboLink 和 使用 autoInstance 方法
这是最简单的流程,只有仅仅做归因可以这样调用,如果使用归因和活动能力,请添加事件和玩法的方法。

package ai.turbolink.sdktest
 
import android.app.Application
import ai.turbolink.sdk.TurboLink
 
class TurboLinkTestApp : Application() {
override fun onCreate() {
        super.onCreate()
 
        // TurboLink logging for debugging
        TurboLink.enableLogger()
 
        // 在初始化之前需先添加事件回调方法。
        TurboLink.withEventCallback(object : TurboLinkEvent.TurboLinkEventCallback {
            override fun onSuccess(response: EventResponse) {
            }
            override fun onFailure(code: Int, msg: String) {
            }
        })
        TurboLink.autoInstance(this, "<你的项目ID>"
            , "<你的项目appKey>"
            , "<你的项目appSecret>"
            , "<你的app用户ID/加密后的用户ID>"
            )
    }
}

EventResponse 结构参考

设置用户ID和用户信息等

用户等级标识的设置可以用来配合活动的一系列玩法,比如:按等级发放不同的奖品

TurboLink.setAppUserInfo("<你的app用户ID/加密后的用户ID>", "<昵称>", "<用户头像URL>", arrayOf("<用户等级或标签>"), "<邀请码>")
 
// 只设置用户ID和用户等级
// TurboLink.setAppUserInfo("<你的app用户ID/加密后的用户ID>", "<app用户等级(标识)>")

设置活动国际语言代码

通过设置活动语言可以改变活动页面的语言显示

TurboLink.Campaign.setLang("<国际语言代码>")

国际语言代码说明

onNewIntent设置

对于Scheme和App Links拉起的app行为,需要在被拉起Activity的onNewIntent处添加setIntent定义 在需要通过Scheme/App Links拉起的Activity页面添加:

override fun onNewIntent(intent: Intent?) {
    super.onNewIntent(intent)
    setIntent(intent)
}

粘贴板

在使用口令的时候需要粘贴板的支持,使用粘贴板要注意Google Play的隐私政策,添加信息披露并获得用户授权,具体可参考: https://support.google.com/googleplay/android-developer/answer/10144311?visit_id=638320928049656842-850101537&rd=1

判断内容是TurboLink的

使用口令检索前,建议通过isBelongTurboLink方法检测下粘贴板内容是否属于Turbolink的。

if (TurboLink.isBelongTurboLink("<粘贴板内容>")) {
}

利用粘贴板进行口令检索

请查看code_search(口令搜索)事件

使用简单模式获取DeviceId

如有需要发布到小米应用商店,请使用简单模式获取DeviceId。 请在初始化TurboLink.autoInstance方法前调用

TurboLink.setIdSimpleMode()

延迟SDK启动

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

设置延迟

在TurboLink.autoInstance初始化之前设置

TurboLink.setDelayedSessionInitialization(true)

启动

在特定的Activity按需启动,如:首页

TurboLink.startSessionInitialization(this)