跳到主要内容

APP 事件

最后更新:2024/04/03

默认事件

系统默认已经有的事件

login(登录事件)

APP侧用户有登录操作调用此事件
对于活动,调用此事件可以自动拉起之前未登录的活动页面,不需要在onSuccess处手动调用loadUrl。

// 除用户ID外,可以为空
TurboLink.DefaultEvent.login(this, "<你的app用户ID/加密后的用户ID>", "<昵称>", "<用户头像URL>", arrayOf("<用户等级或标签>"), "<邀请码>")
.build(object : TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}

override fun onFailure(code: Int, msg: String) {
}
})

logout(登出事件)

APP侧用户有登出操作调用此事件

TurboLink.DefaultEvent.logout(this).build()

register(注册事件)

APP侧用户有注册操作调用此事件


TurboLink.DefaultEvent.register(this, "<你的app用户ID/加密后的用户ID>", "<昵称>", "<用户头像URL>", arrayOf("<用户等级或标签>"), "<邀请码>")
.build(object : TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}
override fun onFailure(code : Int, msg : String) {
}
})

code_search(口令搜索)

在需要通过口令内容检索时使用

TurboLink.DefaultEvent.codeSearch(this, "<口令内容>").build(
// 如果需要回调autoInstance的TurboLinkEventCallback,这里不用设置
object :TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}

override fun onFailure(code: Int, msg: String) {

}
}
)

click(深度链接点击事件)

点击事件可以返回link_data数据,就是深度链接和活动自定义的Key:Value,App端可以根据自定义的Key:Value做动态的页面跳转

TurboLink.DefaultEvent.click(this, "<深度链接ID>")
.build(object : TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}

override fun onFailure(code : Int, msg : String) {
}
})

自定义事件

需要先在Dashboard后台创建好对应的事件Key:Value
Activity页面执行:

val customData = TurboLinkCustomProperties()
.addKeyValue("<事件对应的key>", "<事件对应的value>")
.addKeyValue("<事件对应的key2>", "<事件对应的value2>")
TurboLink.customEvent(this, "<你定义的事件ID>")
.setCustomProperties(customData)
.build(object : TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}

override fun onFailure(code: Int, msg: String) {
}
})

事件回调

事件上报后的回调,如果在每个事件上报时已经包含了事件回调,就以上报时绑定的为主

TurboLink.withEventCallback(object : TurboLinkEvent.TurboLinkEventCallback {
override fun onSuccess(response: EventResponse) {
}
override fun onFailure(code: Int, msg: String) {

}
})

EventResponse 结构参考