您必须满足以下前提条件,才可以在 iOS 移动应用中支持通用链接:
遵守 Apple 的守则,以允许应用和网站链接到您的内容,其中包括:
满足前提条件后,您可以将代码添加到您的应用中,为全事件衡量提供支持。详情请参阅全事件衡量。
在应用面板中为应用添加深度链接信息。前往面板 > 设置 > iOS。
://
的网址格式。例如,如果您的网址格式是 mytravelapp://
,则输入 mytravelapp
。注意:此要求不适用于 iOS 16 以下的 iOS 版本。APP_STORE_ID
。延迟深度链接可在用户通过应用商店安装您的应用后,将用户定向至一个自定义视图。
如果您向尚未安装应用的用户投放广告,则必须使用延迟深度链接。如果您只向已安装应用的用户投放广告,则无需添加延迟深度链接。
由于 iOS 14 有所更新,SKAdNetwork 广告系列的 POST /{ad-id}
端点将不再支持延迟深度链接。
iOS 版 Facebook SDK 包含名为应用链接的产品,可便于您在应用内支持延迟深度链接。在实现深度链接后,只需将以下代码添加到应用即可处理延迟深度链接。
如果您遵循 Facebook SDK 通用数据保护条例合规最佳实践中所述的通用数据保护条例合规要求,则请在获得最终用户同意后,先重新启用 SDK 自动初始化功能,然后再抓取延迟链接。
以下代码用于处理延迟链接:
#import <FBSDKCoreKit/FBSDKCoreKit.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) { [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) { if (error) { NSLog(@"Received error while fetching deferred app link %@", error); } if (url) { [[UIApplication sharedApplication] openURL:url]; } }]; } return YES; }
以下代码用于重新启用 SDK 自动初始化功能(按需使用):
#import <FBSDKCoreKit/FBSDKCoreKit.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) { // Get user consent [FBSDKSettings setAutoInitEnabled:YES]; [FBSDKApplicationDelegate initializeSDK:nil]; [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) { if (error) { NSLog(@"Received error while fetching deferred app link %@", error); } if (url) { [[UIApplication sharedApplication] openURL:url]; } }]; } return YES; }
以下代码用于处理延迟链接:
import FacebookCore func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { AppLinkUtility.fetchDeferredAppLink { (url, error) in if let error = error { print("Received error while fetching deferred app link %@", error) } if let url = url { if #available(iOS 10, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { UIApplication.shared.openURL(url) } } } return true; }
以下代码用于重新启用 SDK 自动初始化功能(按需使用):
import FacebookCore func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool { // Get user consent Settings.isAutoInitEnabled = true ApplicationDelegate.initializeSDK(nil) AppLinkUtility.fetchDeferredAppLink { (url, error) in if let error = error { print("Received error while fetching deferred app link %@", error) } if let url = url { if #available(iOS 10, *) { UIApplication.shared.open(url, options: [:], completionHandler: nil) } else { UIApplication.shared.openURL(url) } } } return true; }
您可以在“工具和支持”部分的应用广告帮手中验证您的 Facebook SDK 和深度链接设置。我们建议您先验证设置,然后开始投放深度链接广告。
验证深度链接设置如果您已将应用安装量选作目标,则可以添加延迟深度链接。
在广告管理工具中,选择新广告组并滚动至广告创意。添加深度链接或 Facebook 应用链接元数据的网址,以便在安装后将用户带到应用中的特定位置。