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

深層連結不僅會導向您的應用程式,還會導向應用程式內的特定內容。詳情請參閱在您的應用程式廣告加入深層連結

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

支援通用連結

必要條件

在 iOS 流動應用程式中支援通用連結之前,您必須符合下列先決條件:

符合先決條件後,您可以在應用程式加入程式碼,以支援彙總事件成效衡量。詳情請參閱彙總事件成效衡量

在流動應用程式支援自訂網址配置

步驟 1:加入深層連結設定

應用程式管理中心為應用程式加入深層連結資訊。前往管理中心 > 設定 > iOS

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

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

延後深層連結可讓您在用戶透過應用程式商店安裝您的應用程式之後,將用戶引導至自訂檢視畫面。

如果您將目標鎖定為未安裝應用程式的用戶,則必須使用延後深層連結。如果您僅將目標鎖定為已安裝應用程式的用戶,則不需要新增延後深層連結。

由於 iOS 14 有所更新,因此 SKAdNetwork 宣傳活動POST /{ad-id} 端點將不再支援延後深層連結。

Facebook iOS SDK 包含產品應用程式連結,可讓您在應用程式支援延後深層連結。除了執行深層連結外,只要再將以下程式碼加至應用程式,即可處理延後深層連結。

如果您遵循 Facebook 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 應用程式連結中繼資料的深層連結或網址,以在安裝後將用戶導向應用程式中的特定位置。

另請參閱