SDK 迁移指南 - Android SDK (v4)

您可以查看更新 Airbridge Android SDK 过程中需要注意的内容。建议查看当前版本至目标更新版本之间的所有更新详情。

从 v2.x 更新至 v4.0

如果您将 Airbridge Android SDK 更新至 v4.0,请查看以下内容。

SDK 初始化

Airbridge.init(Application, AirbridgeConfig) 已更改为 Airbridge.initializeSDK(Application, AirbridgeOption)

AirbridgeConfig 已更改为 AirbridgeOptionAirbridgeConfig.Builder 已更改为 AirbridgeOptionBuilderAirbridgeOptionBuilder 中的部分函数名称已更改或被删除。

请参考以下示例:

123456
override fun onCreate() {
    super.onCreate()
    val option = AirbridgeOptionBuilder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
        .build()
    Airbridge.initializeSDK(this, option)
}

深度链接

函数名称已从 getDeeplink() 更改为 handleDeeplink()AirbridgeCallback 已被删除,并新增 OnSuccessOnFailure listener。您可以通过 return 值检查该函数的运行状态。

12345
val result = Airbridge.handleDeeplink(
    intent = intent
    onSuccess = { },
    onFailure = { }
)

为便于实现页面跳转,改进了添加 listener 的原有延迟深度链接代码逻辑。原有的 listener 添加方式已被删除,现在可以通过 Airbridge 接口接收延迟深度链接。

应用内事件及用户信息

以下原有 API 已被删除。此外,StandardEventCategorySemanticAttributesProduct 也已被删除。

  • trackEvent(category: StandardEventCategory, action: String? = null, label: String? = null, value: Number? = null, customAttributes: Map<String, Any?>? = null, semanticAttributes: Map<String, Any?>? = null)

  • trackEvent(category: String, action: String? = null, label: String? = null, value: Number? = null, customAttributes: Map<String, Any?>? = null, semanticAttributes: Map<String, Any?>? = null)

  • trackEvent(event: Event)

新的 API 已新增。

  • trackEvent(category: String, semanticAttributes: Map<String, Any>? = null, customAttributes: Map<String, Any>? = null)

  • AirbridgeCategory 已新增,event category string 已预定义。

  • 用于传递其他信息的函数 override 及对象(SemanticAttributesProduct)已被删除。

  • 改为使用 map 传递 attribute。map 的键值已在 AirbridgeAttribute 中以 string 预定义。Custom Attribute 可直接以 string 传递。

请参考下方 AirbridgeCategory、AirbridgeAttribute 映射及 trackEvent 函数。

AirbridgeUser 已被删除。可以通过 Airbridge 接口访问原先通过 AirbridgeUser 访问的接口。

AirbridgeDeviceInfo 已被删除,原先通过 AirbridgeDeviceInfo 访问的接口已更改为通过 Airbridge 接口访问。

AirbridgeCallback 已被删除,并新增 OnSuccessOnFailure listener。您可以通过 listener 接收操作的成功与否。

AirbridgeDeviceInfo 已被删除,且不提供通过 Airbridge 接口接收 attribution result 的函数。不过,仍可通过 AirbridgeOption 的 listener 获取该结果。

123456789101112
class App : Application() {

    override fun onCreate() {
        super.onCreate()
        val option: AirbridgeOption = AirbridgeOptionBuilder("YOUR_APP_NAME", "YOUR_APP_SDK_TOKEN")
            .setOnAttributionReceived { result ->
                // do something
            }
            .build()
        Airbridge.initializeSDK(this, option)
    }
}

AirbridgeCallback 已被删除,并新增 OnSuccessOnFailure listener。您可以通过 return 值检查该函数是否运行。

Hybrid 集成

函数名称已从 setJavascriptInterface() 更改为 setWebInterface()

1
Airbridge.setWebInterface(webview, "YOUR_WEB_TOKEN")

v2.x 更新

请参考各 Android SDK 版本的主要变更内容。

v2.24.0

修复了 Android SDK v.2.22.0~v.2.23.0 中出现的,2023-09-04 及以后创建的 Airbridge App 在深度链接回调中提供的深度链接 URL 被解码两次的问题。

v2.21.2

新增初始化选项,可在 App 处于后台(background)状态时停止事件发送。

  • 可通过 AirbridgeConfig#setTransmitEventOnBackgroundEnabled 函数进行设置。

  • 默认值为 true,意味 App 在后台状态下仍会发送未发送的事件。

v2.21.1

deeplink.page 已被弃用。从 v2.21.1 起,请使用 abr.ge 作为深度链接域名进行代码编写。

为了保持向后兼容性,deeplink.page 仍然受支持并可正常运行。

v2.19.1

更改为默认不收集在会话中发生的 ORGANIC_REOPENFOREGROUND 事件。

  • 如果正在使用低于 v2.19.1 的版本并收集 ORGANIC_REOPENFOREGROUND 事件,可以通过设置 AirbridgeConfig#setTrackInSessionLifeCycleEventEnabled 继续收集这些事件。

  • 默认值为 false,意味不收集 ORGANIC_REOPENFOREGROUND 事件。

删除了 BACKGROUND 事件。

v2.18.0

更改为只有在调用 Airbridge.click 时收集深度链接页面浏览(Deeplink Pageview)事件。

Was this page helpful?

Have any questions or suggestions?