adjust-icon

ディファードディープリンクの設定

遅延ディープリンクを使用すると、アプリをインストールしていないユーザーがAdjustのリンクをクリックしてApp Storeからアプリをインストールし、アプリを初回起動した際に目的のコンテンツに誘導することができます。

仕組み

以下は、ディファードディープリンクの基本的なフローです。

  1. ユーザーがAdjustディープリンクをクリックします。
  2. AdjustサーバーがユーザーをApp Storeにリダイレクトします。
  3. ユーザーがアプリをインストールして開きます。
  4. Adjustサーバーがアトリビューションを実行し、ディープリンクがAdjust SDKに送られます。
  5. 該当する場合、アプリにはオンボーディング画面やユーザーログインなどの初期画面が表示されます。
  6. Adjust SDKがディファードディープリンクをアプリに提供します。その後、アプリがこのリンクを処理して、ユーザーを適切な画面に誘導します(このステップの具体的な実装方法は、以下で説明するように、ご利用のセットアップによって異なります)。

ユーザーがAdjustのブランドリンク (brandname.go.link)をクリックし、そのリンクがディファードリンクである場合、Adjustのサーバーはそれをアプリスキーム形式(example://)に変換し、AdjustダッシュボードのiOSプラットフォーム設定で構成されたアプリスキームを使用して、SDKに渡す前に処理を行います。

そのため、Adjustのブランドリンクとアプリスキームのディープリンクを同じ方法で処理できるようにアプリを設定する必要があります。例えば、以下のリンクは両方とも同じ画面を開く必要があります。

  • Adjustブランドリンク: https://brandname.go.link/summer-clothes?promo=beach
  • アプリスキームのディープリンク: example://summer-clothes?promo=beach

アプリ側でディファードディープリンクを処理する必要があります。リンクのパスやクエリパラメーターなどのコンポーネントを解析し、適切な画面へ遷移させてください。

設定

  1. AppDelegateでAdjustDelegateプロトコルに準拠します。アトリビューションコールバックを設定済みの場合は、この手順はスキップして構いません。
  1. SDKを初期化する前に、Adjustの設定でAppDelegateをデリゲートとして指定します。
  1. adjustDeeplinkResponseコールバックメソッドをアプリデリゲートに追加します。Adjust SDKは、ディファードディープリンクを受け取った後にこのメソッドを呼び出します。

戻り値のオプション

adjustDeeplinkResponseの戻り値によって、コールバックコードが実行された後に何が起こるかが決定します。

falseを返す(最も一般的)

アプリがいつ、どのようにディファードディープリンクを処理するかを完全に制御したい場合は、このアプローチを使用してください。falseを返すと、Adjust SDKはディファードディープリンクを開きません。例えば、アプリがディファードディープリンクを処理する前に初期画面(オンボーディングやログインなど)を表示してから移動する必要がある場合は、このアプローチが適切です。

戻り値 true

コールバックコードが実行された直後にAdjust SDKがディファードディープリンクを開くようにしたい場合は、このアプローチを使用してください。例えば、アプリに初期画面がない場合は、このアプローチが適切です。

Adjust SDKがディファードディープリンクを受け取ると、コールバックコードが実行され、Adjust SDKはapplication(_:open:options:)をディファードディープリンクで呼び出します。iOSはアプリ設定に基づいて適切なハンドラーにルーティングします

アプリの実装ハンドラー
AppDelegateを使用したUIKitapplication(_:open:options:)
sceneDelegateを使用したUIKitscene(_:openURLContexts:)
SwiftUI.onOpenURL modifier

上記の適切なハンドラーからディープリンクを処理するには、ダイレクトディープリンクをすでに実装していることを確認してください。

完全なコード例

この例では、アプリがディファードディープリンクを処理できるようになる前に、オンボーディングプロセスを完了する必要があるケースを示しています。以下は、サンプルコードの動作概要です。

  1. アプリをインストールしていないユーザーがAdjustディープリンクをクリックすると、ユーザーはアプリストアにリダイレクトされます。

  2. ユーザーがアプリをインストールして開きます。

  3. Adjust SDKは、セッションとアトリビューションリクエストをAdjustのサーバーに送信します。

  4. アプリがオンボーディングを開始します。

  5. Adjustのサーバーは、ユーザーがクリックしたディープリンク(「ディファードディープリンク」)を含むアトリビューションデータで応答します。

  6. Adjust SDKが、アプリでディファードディープリンクコールバックをトリガーします(以下のAppDelegateを参照)。コールバックがオンボーディングが完了したかどうかを確認します。

    • オンボーディングが完了すると、ディープリンクはすぐに処理されます。
    • オンボーディングが完了していない場合は、ディープリンクが保存されます。
  7. オンボーディングが完了すると、アプリは保存されたディファードディープリンクを確認し、処理します(以下のViewControllerとContentViewの例を参照)。

  8. アプリがユーザーをディープリンク画面に誘導します。

AppDelegate

AppDelegateへのディープリンクの更新は、ハイライト表示されたコードにあります。この例は、UIKitとSwiftUIの両方の例に該当します。

UIKit

SwiftUI