iOS 行動應用程式中的深層連結

深層連結是一種連結,不僅能連結您的應用程式,還能連結應用程式內的特定內容。如需詳細資訊,請參閱將深層連結新增至應用程式廣告

您可以使用通用連結或自訂網址配置來支援深層連結。

支援通用連結

必要條件

您必須滿足下列先決條件,才能在您的 iOS 行動應用程式中支援通用連結:

滿足先決條件後,即可將程式碼新增至您的應用程式,以支援彙總事件成效衡量。如需詳細資訊,請參閱彙總事件成效衡量

在您的行動應用程式中支援自訂網址配置

步驟 1:新增深層連結設定

應用程式主控板中新增應用程式的深層連結資訊。請前往主控板 > 設定 > iOS

  • 針對網址配置尾碼,新增不含 :// 的網址配置。例如,如果您的網址配置為 mytravelapp://,則請輸入 mytravelapp注意:這不是 iOS16 以下版本的 iOS 要求。
  • 針對 App Store 編號,請從 App Store 網址取得 App Store 編號:https://itunes.apple.com/us/app/my-app/APP_STORE_ID

步驟 2:延遲深層連結(選用)

在用戶透過 App Store 安裝您的應用程式後,您可利用延遲深層連結將用戶引導至自訂檢視畫面。

如果鎖定的用戶尚未安裝您的應用程式,請務必使用延遲深層連結。如果您僅鎖定已安裝應用程式的用戶,則不需要新增延遲深層連結。

因 iOS 14 更新,SKAdNetwork 行銷活動POST /{ad-id} 端點不再支援延遲深層連結。

Facebook iOS SDK 包含產品應用程式連結,可讓您在應用程式中支援延遲深層連結。除了實作深層連結外,只要再將下列程式碼新增至應用程式,即可處理延遲深層連結。

如果您遵循 FB SDK GDPR 合規性最佳作法中的 GDPR 合規性,請在終端用戶表示同意後重新啟用自動 SDK 初始化,然後再擷取延遲連結。

Objective-C

處理延遲連結的程式碼:

#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;
}

Swift

處理延遲連結的程式碼:

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;
} 

步驟 3:驗證深層連結設定

您可以在工具與支援區塊的應用程式廣告幫手中,驗證 Facebook SDK 和深層連結設定。我們建議您在開始刊登深層連結廣告之前先驗證設定。

驗證深層連結設定

如果您選擇「應用程式安裝」做為目標,便可以新增延遲深層連結。

廣告管理員中選擇「新增廣告組合」,然後捲動至「廣告創意」。隨著所實作的 Facebook 應用程式連結中繼資料新增深層連結或網址,以在用戶完成安裝後將其引導至應用程式中的特定位置。

另請參閱