adjust-icon

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

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

仕組み

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

  1. ユーザーがAdjustディープリンクをクリックします。
  2. Adjustサーバーがユーザーをアプリストアにリダイレクトします。
  3. ユーザーがアプリをインストールまたは再インストールして開きます。
  4. Adjust SDKが、Adjustのサーバーに/attributionリクエストを送信します。
  5. Adjustサーバーは、クリックをインストールまたは再インストールに一致させ、/attributionレスポンスでディファードディープリンクを返します。Adjust SDKは、ディファードディープリンク コールバックを介して、アプリにディファードディープリンクを提供します。
  6. 該当する場合、アプリにはオンボーディング画面やユーザーログインなどの初期画面が表示されます。
  7. アプリがディープリンクを処理し、適切な画面に移動します。

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

設定

  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. ユーザーがアプリを起動すると、ディファードディープリンクが適用されます。

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

  3. アプリのコールバックがAdjust SDKからディファードディープリンクを受け取り、オンボーディングが完了したかどうかを確認します。

    • オンボーディングが完了すると、ディープリンクはすぐに処理されます。
    • オンボーディングが完了していない場合は、ディープリンクが保存されます。
  4. オンボーディングが終了すると、アプリは保存されたディファードディープリンクを確認し、処理します。

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

AppDelegate

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

UIKit

SwiftUI