adjust-icon

ダイレクトディープリンクの設定

アプリがインストールされているユーザーがAdjustリンクをクリックすると、ダイレクトディープリンク機能により、アプリ内の特定のコンテンツへ直接遷移させることができます。

設定

iOSでは、アプリの実装方法に応じて、ダイレクトディープリンクを受け取るための複数のメソッドが用意されています。これらのメソッド内で、次のいずれかの方法を使ってディープリンクをAdjust SDKに渡してください。

processAndResolve(_:withCompletionHandler:)メソッドを使用すると、以下の処理が実行されます。

  • ディープリンククリックによるアトリビューションを記録する
  • ショートブランドリンクを長いブランドリンクに解決する
  • その他のリンクをそのまま渡す

その後、アプリは解決済みのリンクを解析し、適切な画面へ遷移させることができます。このメソッドは、Adjustの長いブランドリンクを含む全てのディープリンク(ユニバーサルリンク、アプリスキームディープリンクなど)に使用できます。

メソッドシグネチャー
+ (void)processAndResolveDeeplink:(nonnull ADJDeeplink *)deeplink
withCompletionHandler:(nonnull ADJResolvedDeeplinkBlock)completion;

processDeeplink(_:)メソッドは、ショートブランドリンクを使用していない場合、ディープリンククリックによるアトリビューションを記録します。

メソッドシグネチャー
+ (void)processDeeplink:(ADJDeeplink *)deeplink;

processAndResolve(_:withCompletionHandler:)メソッドは、このレガシーメソッドに優先します。

実装

アプリの構造と一致する実装方法を使用してください。

AppDelegateライフサイクルを使用するUIKitアプリ

AppDelegateを更新して、iOSダイレクトディープリンクメソッドを実装します。

SceneDelegateライフサイクルを使用するUIKitアプリ

SceneDelegateを更新して、iOSダイレクトディープリンクメソッドを実装します。

AppDelegateライフサイクルを使用するSwiftUIアプリ

まだ作成していない場合は、プロジェクトのメインディレクトリに AppDelegate.swift ファイルを作成し、以下の App.swift ファイルの例のように、アプリケーションのメインファイルで参照してください。これは、アプリのライフサイクルイベントとAdjust SDKの実装を処理するために必要です。また、アプリがインストールされている状態でユニバーサルリンクやアプリスキームディープリンクを受け取れるように、onOpenURL SwiftUIモディファイアも実装してください。

SceneDelegateライフサイクルを使用するSwiftUIアプリ

AppDelegateライフサイクルを使用するSwiftUIアプリの手順に従ってください。onOpenURL SwiftUIモデリングは、アプリがインストールされ、リンクがバックグラウンドまたはフォアグラウンドの状態からアプリを開くと、ユニバーサルリンクとアプリスキームのディープリンクを受信します。

さらに、SceneDelegateライフサイクルの手順に従って、UIKitアプリからscene(_:willConnectTo:options:)メソッドを実装してください。このメソッドは、アプリがインストールされ、アプリが「未起動」の状態でリンクが開かれると、ユニバーサルリンクとアプリスキームのディープリンクを受け取ります。

フォアグラウンドナビゲーション

プロモーションバナーや製品のおすすめ機能など、自社アプリの内部にAdjustディープリンクを配置する場合は、 UIApplication.open(_:options:completionHandler:)またはSwiftUIのopenURLを呼び出さないでください。iOSは、アプリ内でユニバーサルリンクをルーティングするのではなく、Safariでアプリ独自のユニバーサルリンクを開きます。代わりに、processAndResolveを介してリンクをパスし、このページで説明されているのと同じ処理パスを使用して、解析されたディープリンクをルーティングしてください。