SDK 迁移指南 - iOS SDK (v4)

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

从 v1.x 更新至 v4.0

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

iOS SDK 的名称已从 AirBridge 更改为 Airbridge,AirBridge 类已更名为 Airbridge。部分函数和选项名称已更改。

SDK 安装及初始化

CocoaPods 包名、SwiftPackageManager Git 地址及直接安装的下载 URL 均已更改。请先删除现有的 iOS SDK,然后按照 本指南 重新安装。

用于 SDK 初始化的 AirBridge.getInstance 函数已更改为 Airbridge.initializeSDK 函数。此外,选项设置函数已更改为 AirbridgeOptionAirbridgeOptionBuilder 类。SDK 选项不再支持运行时更改。

请参考下方映射,更新 SDK 初始化代码。

1234567
import Airbridge
...
let option = AirbridgeOptionBuilder(name: "YOUR_APP_NAME", token: "YOUR_APP_SDK_TOKEN")
    .setLogLevel(.warning)
    .setSessionTimeout(second: 300)
    .build()
Airbridge.initializeSDK(option: option)

深度链接

AirBridge.setDeeplinkCallback 函数已被 Airbridge.handleDeeplinkhandleDeferredDeeplink 函数替代。

AirBridge.deeplink().handle(或 handleUniversalLink)和 AirBridge.deeplink().handleURLSchemeDeeplink 函数已被 Airbridge.trackDeeplink 函数替代。

品牌域名的注册方式已更改。

  • 此前,需在 Info.plist 的 co.ab180.airbridge.trackingLink.customDomains 键中添加品牌域名为值。

  • 现更改为在 SDK 初始化阶段调用 setTrackingLinkCustomDomains 函数进行添加。

应用内事件及用户信息

注意

请使用 AirbridgeAttribute.VALUE 代替原 totalValue 进行赋值。

从 iOS SDK v4 起,setSemantics 的 totalValue 覆盖 setValue 赋值的逻辑已被删除。

ABInAppEvent 类已被 Airbridge.trackEvent 函数替代。

请按照以下指南,将 ABInAppEvent 类及 setAction、setLabel、setValue、setSemantics、setCustoms 更改为 Airbridge.trackEvent 函数。

  • setCategory:如果使用 ABCategory,请改用 AirbridgeCategory。如果使用 String,可直接输入至 category 参数。

  • setAction:请输入至 semanticAttributes 参数的 AirbridgeAttribute.ACTION 键中。

  • setLabel:请输入至 semanticAttributes 参数的 AirbridgeAttribute.LABEL 键中。

  • setValue:请输入至 semanticAttributes 参数的 AirbridgeAttribute.VALUE 键中。

  • setSemantics:如果 semanticAttributes 参数的键使用 ABSemanticsKey,请改用 AirbridgeAttribute。如果使用 String,可直接输入。值可直接输入,与键无关。

  • setCustoms:请将键和值直接输入至 customAttributes 参数。

请参考下方的 AirbridgeCategory、AirbridgeAttribute 映射以及 Airbridge.trackEvent 函数。

AirBridge.setDeviceAlias 相关函数已被 Airbridge.setDeviceAlias 相关函数替代。

12345
import Airbridge
...
Airbridge.setDeviceAlias(key: "string", value: "string")
Airbridge.removeDeviceAlias(key: "string")
Airbridge.clearDeviceAlias()

AirBridge.state().setUser 相关函数已被 Airbridge.setUser 相关函数替代。不再支持一次性设置用户信息的 setUser 函数。

1234567891011121314151617181920
import Airbridge
...
// identifier
Airbridge.setUserID("string")
Airbridge.clearUserID()
// addtional identifier
Airbridge.setUserAlias(key: "string", value: "string")
Airbridge.removeUserAlias(key: "string")
Airbridge.clearUserAlias()
...
// email, phone
Airbridge.setUserEmail("string")
Airbridge.clearUserEmail()
Airbridge.setUserPhone("string")
Airbridge.clearUserPhone()
// addtional attribute
Airbridge.setUserAttribute(key: "string", value: "string")
Airbridge.setUserAttribute(key: "number", value: 1000)
Airbridge.removeUserAttribute(key: "string")
Airbridge.clearUserAttributes()

高级设置

AirBridge.placement().clickAirBridge.placement().impression 函数已被 Airbridge.clickAirbridge.impression 函数替代。

1234567891011121314151617181920
import Airbridge
...
let isHandled = Airbridge.click(trackingLink: url) {
    // when url is tracking link and succeed
} onFailure: { error in
    // when url is tracking link and failed
    // example: url is another app's tracking link, internet is not connected
}
if !isHandled {
    // when url is not tracking link
}
...
let isHandled = Airbridge.impression(trackingLink: url) {
    // when url is tracking link and succeed
} onFailure: { error in
    // when url is tracking link and failed
}
if !isHandled {
    // when url is not tracking link
}

AirBridge.webInterface().inject 函数已被 Airbridge.setWebInterface 函数替代。

123456
import Airbridge
...
Airbridge.setWebInterface(
    controller: controller,
    webToken: "YOUR_WEB_TOKEN"
)

v1.x 更新

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

v1.36.0 - 深度链接

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

v1.34.0 - 深度链接

对于 2023-09-04 或以后创建的 Airbridge App,在深度链接回调中提供的深度链接 URL 将不再附加 airbridge_referrer,而是直接按照 Airbridge 面板中输入的信息传递。

仍在使用 2023-09-04 以前创建的 Airbridge App 并需要该功能的客户,请联系您的 CSM。如果没有指定的 CSM,请通过 [帮助] 提交请求。

v1.33.0 - SKAN

随着 SKAN(SKAdNetwork)4.0 支持,转化值计算方式已更改。当用户从安装了 iOS SDK v1.33.0 以下版本的 App 更新至 v1.33.0 或以上版本时,最后计算的转化值将确认为最终值。

v1.32.1 - 隐私设置

trackingAuthorizeTimeout 的默认值已从 0 秒更改为 30 秒。

Was this page helpful?

Have any questions or suggestions?