iOSモバイルアプリのディープリンク

ディープリンクは、アプリに移動できるほか、アプリ内の特定のコンテンツにも移動できるリンクです。詳しくは、アプリ広告にディープリンクを追加するをご覧ください。

ユニバーサルリンクやカスタムURLスキームを使って、ディープリンクをサポートできます。

ユニバーサルリンクのサポート

前提条件

iOSモバイルアプリでユニバーサルリンクをサポートするには、以下の前提条件を満たしていなければなりません。

この前提条件を満たしたら、合算イベント測定をサポートするためのコードをアプリに追加できます。詳しくは、合算イベント測定をご覧ください。

モバイルアプリでカスタムURLスキームをサポートする

ステップ1: ディープリンクの設定を追加する

アプリダッシュボードでアプリのディープリンク情報を追加します。[ダッシュボード] > [設定] > [iOS]に移動します。

  • URLスキーム拡張子には、://を除去したURLスキームを追加します。例えば、URLスキームがmytravelapp://の場合、mytravelappと入力します。注: これはiOS16より前のiOSバージョンの条件としては適用されません。
  • App Store IDは、App Store URL (https://itunes.apple.com/us/app/my-app/APP_STORE_ID)からIDを取得します。

ステップ2: ディファードディープリンク(任意)

ディファードディープリンクを使うと、利用者がアプリストアからアプリをインストールした後、その利用者をカスタムビューに誘導できます。

まだ該当アプリをインストールしていない人をターゲットに設定する場合は、ディファードディープリンクを使う必要があります。アプリをすでにインストールしている利用者のみをターゲットに設定している場合は、ディファードディープリンクを追加する必要はありません。

iOS 14のアップデートに合わせて、SKAdNetworkキャンペーンでは、POST /{ad-id}エンドポイントでディファードディープリンクがサポートされなくなりました。

iOS用Facebook SDKには、App Linksという製品が含まれています。App Linksを使うと、アプリでディファードディープリンクに対応できるようになります。ディープリンクの実装のほかに、アプリに以下のコードを追加するだけで、ディファードディープリンクを処理できます。

GDPRコンプライアンスのFB SDKベストプラクティスにあるGDPRコンプライアンスに従う場合は、エンドユーザーの同意が得られた後、ディファードリンクをフェッチする前に、まず自動初期化を再有効化します。

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 App Linksのメタデータを実装したディープリンクまたはURLを追加します。

参考情報