使用 iOS SDK 來實施對第三方延期的深層連結的追蹤。
Adobe Mobile SDK 目前支援的深層連結可讓應用程式開發人員呼叫 trackAdobeDeepLink
API,並傳遞深層連結 URL (設定期間在 Adobe Mobile Services 中產生的指紋識別器 URL)。SDK 會偵測指紋識別器,以取得贏取資料並將其附加至安裝/啟動分析呼叫內容資料,作為生命週期的一部分。此外,SDK 也會從深層連結 URL 參數中附加深層連結資料。如需深層連結的詳細資訊,請參閱追縱深層連結。
廣告創作者可以在 Facebook 中刊登廣告作為深層連結。使用者按一下 Facebook 中的廣告時,會直接在應用程式中前往感興趣的資訊。深層連結並非指紋識別器 URL。然而,在廣告設定期間,您可以選擇提供協力廠商深層連結 URL。使用Experience CloudMobile SDK和服務的應用程式開發人員應在此欄位中輸入Mobile Services設定的指紋識別器URL。 如果所有項目皆已正確設定,則 Facebook SDK 會在應用程式安裝或啟動後,將此 URL 傳遞至應用程式。
設定 Facebook SDK.
如需詳細資訊,請參閱以下頁面:
若要設定 SDK,請呼叫 trackAdobeDeepLink
,並將 URL 傳遞至 SDK:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
[ADBMobile trackAdobeDeepLink:url];
return YES;
}
請確認深層連結 URL 擁有名稱為 a.deeplink.id
的索引鍵。如果 URL 缺少 a.deeplink.id
參數,則不會在內容資料中附加任何 URL 參數。
如果應用程式依上述方式設定,則目前的 AMSDK 版本將會正常運作,且會將深層連結資料正確附加至安裝/啟動分析呼叫中。
註冊 URL 結構。
請確定您已註冊 URL 結構,這與深層連結 URL 相同。
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>sampleapptest</string>
</array>
</dict>
</array>
連結 Facebook SDK。
編輯 AppDelegate
。
匯入標題。
/*************************************************************************
ADOBE SYSTEMS INCORPORATED
Copyright 2015 Adobe Systems Incorporated
All Rights Reserved.
NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the
terms of the Adobe license agreement accompanying it. If you have received this file from a
source other than Adobe, then your use, modification, or distribution of it requires the prior
written permission of Adobe.
**************************************************************************/
#import "AppDelegate.h"
#import "GalleryViewController.h"
#import "SimpleTrackingController.h"
#import "PostbackController.h"
#import "InAppMessageViewController.h"
#import "LifetimeValueController.h"
#import "LocationTargetingController.h"
#import "MediaViewController.h"
#import "TimedActionController.h"
// Uncomment after including the facebook sdks.
@import FBSDKCoreKit;
@import Bolts;
新增延期深層連結的處理常式。
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
/*
* Adobe Tracking - Analytics
*
* turn on debug logging for the ADBMobile SDK
* enable the collection of lifecycle data
*/
if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) {
if (NSClassFromString(@"FBSDKAppLinkUtility") != nil)
{
[NSClassFromString(@"FBSDKAppLinkUtility") performSelector:@selector(fetchDeferredAppLink:) withObject:^(NSURL *url, NSError *error) {
if (error) {
NSLog(@"Received error while fetching deferred app link %@", error);
}
if (url) {
[[UIApplication sharedApplication] openURL:url];
}
}];
}
}
.....
.....
return YES;
}
呼叫 trackAdobeDeepLink
API 並將深層連結 URL 傳遞至 SDK。
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *, id> *)options {
[self handleDeepLink:url];
return YES;
}