针对 Adobe Experience SDK 的 Adjust Extension 已更新至版本 v3。该版本加入了针对 Adjust请按照本指南说明操作,从 v2 迁移至 v3。
要使用 Swift Package Manager 安装针对 Adobe Experience SDK 的 Adjust Extension 版本 v3,请输入下列 URL:
https://github.com/adjust/ios_adobe_extension.git
如果您使用的是 CocoaPods,请添加下行到您的 Podfile
:
pod 'AdjustAdobeExtension'
要查看针对 Adobe Experience SDK 的 Adjust Extension 设置完整指南,请参阅集成指南。
新 API
版本 v3 中添加了下列 API。
解析品牌化短链接
针对 Adobe Experience SDK 的 Adjust Extension 版本 v3 加入了品牌化短链接的解析支持。要解析短链接,请使用下列参数调用 Adjust.processAndResolveDeeplink
方法:
deeplink
: NSURL
-
打开应用的深度链接。
withCompletionHandler
: ADJResolvedDeeplinkBlock
-
以参数形式接收已解析短链接的 completion 函数。
func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([UIUserActivityRestoring]?) -> Void) -> Bool {
if userActivity.activityType == NSUserActivityTypeBrowsingWeb {
if let incomingUrl = userActivity.webpageUrl {
if let deeplink = ADJDeeplink(deeplink: incomingUrl) {
Adjust.processAndResolveDeeplink(deeplink) { resolveDeeplink in
print("[\(resolveDeeplink)]")
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<uiuseractivityrestoring>> * _Nullable))restorationHandler {
if ([[userActivity activityType] isEqualToString:NSUserActivityTypeBrowsingWeb]) {
ADJDeeplink *deeplink = [[ADJDeeplink alloc] initWithDeeplink:[userActivity webpageURL]];
[Adjust processAndResolveDeeplink:deeplink
withCompletionHandler:^(NSString * _Nullable resolvedLink) {
NSLog(@"[%@]", resolvedLink);
统一回传参数
针对 Adobe Experience SDK 的 Adjust Extension 版本 v3 加入了对来自 iOS SDK v5 的统一回传参数 API 支持。要向会话添加统一回传,请使用下列参数调用 Adjust.addGlobalCallbackParameter
:
key
: NSString
-
参数的键。
value
: NSString
-
参数值。
Adjust.addGlobalCallbackParameter("value", forKey: "key")
Adjust.addGlobalCallbackParameter("855", forKey: "user_id")
[Adjust addGlobalCallbackParameter:@"value" forKey:@"key"];
[Adjust addGlobalCallbackParameter:@"855" forKey:@"user_id"];
了解统一回传设置方法。
统一合作伙伴参数
针对 Adobe Experience SDK 的 Adjust Extension 版本 v3 加入了对来自 iOS SDK v5 的全局合作伙伴参数 API 支持。要添加全局合作伙伴参数,请使用下列参数调用 Adjust.addGlobalPartnerParameter
方法:
key
: String
-
参数的键。
value
: String
-
参数值。
Adjust.addGlobalPartnerParameter("value", forKey: "key")
Adjust.addGlobalPartnerParameter("855", forKey: "user_id")
[Adjust addGlobalPartnerParameter:@"value" forKey:@"key"];
[Adjust addGlobalPartnerParameter:@"855" forKey:@"user_id"];
了解全局合作伙伴参数设置方法。
设置外部设备 ID
针对 Adobe Experience SDK 的 Adjust Extension 版本 v3 加入了外部设备标识符设置的支持。要设置外部设备 ID,请使用下列参数调用 AdjustAdobeExtensionConfig
实例上的 setExternalDeviceId
方法:
externalDeviceId
: NSString
-
您的外部设备标识符。
if let config = AdjustAdobeExtensionConfig(environment: ADJEnvironmentSandbox) {
config.setExternalDeviceId("1a42b171-faa5-46da-b5ae-6f4be6d05167")
AdjustAdobeExtension.setConfiguration(config)
AdjustAdobeExtensionConfig *config = [AdjustAdobeExtensionConfig configWithEnvironment:ADJEnvironmentSandbox];
[config setExternalDeviceId:@"1a42b171-faa5-46da-b5ae-6f4be6d05167"];
[AdjustAdobeExtension setConfiguration:config];
了解外部设备 ID 配置方法。
为预安装应用设置默认链接识别码
针对 Adobe Experience SDK 的 Adjust Extension 版本 v3 拓展了支持功能,现在允许您设置默认链接识别码,以便将预安装应用的安装记录到默认推广活动中。要设置默认链接识别码,请使用下列参数调用 AdjustAdobeExtensionConfig
实例上的 setDefaultTracker
方法:
defaultTracker
: NSString
-
预安装推广活动的、由英文字母和数字组成的链接识别码
if let config = AdjustAdobeExtensionConfig(environment: ADJEnvironmentSandbox) {
config.setDefaultTracker("abc123")
AdjustAdobeExtension.setConfiguration(config)
AdjustAdobeExtensionConfig *config = [AdjustAdobeExtensionConfig configWithEnvironment:ADJEnvironmentSandbox];
[config setDefaultTracker:@"abc123"];
[AdjustAdobeExtension setConfiguration:config];
了解发送预安装应用活动信息的方法。
变更 API
版本 v3 中的以下 API 发生了变更。
直接深度链接
在 SDK v2 中,您可将深度链接数据座位参数调用 AdjustAdobeExtension.application
方法,以此打开归因深度链接。
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
return AdjustAdobeExtension.application(app, open: url, options: options)
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
return [AdjustAdobeExtension application:app openURL:url options:options];
SDK v3 已更新,可以使用 Adjust iOS SDK 的 processDeeplink
方法。要打开直接深度链接,请按照下列步骤操作:
-
使用深度链接 URL 创建新的 ADJDeeplink
实例。
-
将您的 ADJDeeplink
实例传递至 Adjust.processDeeplink
方法。
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
if let deeplink = ADJDeeplink(deeplink: url) {
Adjust.processDeeplink(deeplink)
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
[Adjust processDeeplink: [[ADJDeeplink alloc] initWithDeeplink:url]];
了解如何使用直接深度链接进行用户再归因。
延迟深度链接回传
在 SDK v2 中,您可以对 SDK 进行配置,向 AdjustAdobeExtensionConfig
实例的 setDeeplinkResponseBlock
方法传递函数,以便在延迟深度链接被打开时启用回传函数。
if let config = AdjustAdobeExtensionConfig(environment: ADJEnvironmentSandbox) {
config.setDeeplinkResponseBlock { deepLink in
// Deep link response received
// Apply your logic to determine whether the Adjust SDK should try to open the deep link
AdjustAdobeExtension.setConfiguration(config)
AdjustAdobeExtensionConfig *config = [AdjustAdobeExtensionConfig configWithEnvironment:ADJEnvironmentSandbox];
[config setDeeplinkResponseBlock:^BOOL(NSURL * _Nullable deeplink) {
// Deep link response received
// Apply your logic to determine whether the Adjust SDK should try to open the deep link
[AdjustAdobeExtension setConfiguration:config];
在 SDK v5 中,setDeeplinkResponseBlock
方法已重命名为 setDeferredDeeplinkReceivedBlock
。
if let config = AdjustAdobeExtensionConfig(environment: ADJEnvironmentSandbox) {
config.setDeferredDeeplinkReceivedBlock { (deeplink: URL?) -> Bool in
if let deeplinkString = deeplink?.absoluteString.lowercased(),
deeplinkString.contains("no_open") {
AdjustAdobeExtension.setConfiguration(config)
AdjustAdobeExtensionConfig *config = [AdjustAdobeExtensionConfig configWithEnvironment:ADJEnvironmentSandbox];
[config setDeferredDeeplinkReceivedBlock:^BOOL(NSURL * _Nullable deeplink) {
if (deeplink && [[deeplink.absoluteString lowercaseString] containsString:@"no_open"]) {
[AdjustAdobeExtension setConfiguration:config];
学习如何使用延迟深度链接回传