adjust-icon

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

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

仕組み

  1. ユーザーがAdjustリンクをクリックします。
  2. OSがアプリを開き、ディープリンクをネイティブコード(iOS または Android)に渡します。
  3. Adjust SDKはネイティブコードでOSからのディープリンクをリッスンし、それを directDeeplinkCallbackに転送します。
  4. コードがリンクをAdjust SDKに渡し、アトリビューションを行います。SDKはショートブランドリンクを解析します。
  5. コードは解析されたリンクに基づいてユーザーをナビゲートします。

Adjust SDKメソッド

ネイティブコードでAdjust SDKがインターセプトしたディープリンクを受け取るには、Adjust.initSdkを呼び出す前にAdjustConfigオブジェクトにdirectDeeplinkCallbackを設定します。

プロパティ宣言
DirectDeeplinkCallback? directDeeplinkCallback;

Adjust.processAndResolveDeeplinkメソッドを使用すると、以下の処理が実行されます。

  • ディープリンククリックによるアトリビューションを記録する
  • ショートブランドリンクを長いブランドリンクに解析する
  • その他のリンクをそのまま渡す
メソッドシグネチャー
static Future<String?> processAndResolveDeeplink(AdjustDeeplink deeplink)

Adjust.processDeeplink メソッドは、ショートブランドリンクを使用していない場合でも、ディープリンククリックからのアトリビューションを記録します。

メソッドシグネチャー
static void processDeeplink(AdjustDeeplink deeplink)

processAndResolveDeeplinkメソッドは、このレガシーメソッドより優先されます。

実装

Adjust.initSdkを呼び出す前に、 AdjustConfigオブジェクトにdirectDeeplinkCallbackを設定します。このコールバックは、Adjust SDKがネイティブコードでOSからディープリンクを受信する度に発生します。

AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);
// Set direct deep link callback before initializing SDK
adjustConfig.directDeeplinkCallback = (String? incomingLink) async {
if (incomingLink == null) return;
// Create deep link object
final deeplink = AdjustDeeplink(incomingLink);
// Send deep link to Adjust's servers for attribution.
// If short branded link, receive long link.
// Otherwise, receive original link.
final resolvedLink = await Adjust.processAndResolveDeeplink(deeplink);
// Handle failure if resolvedLink is null
if (resolvedLink == null) return;
/*
* TODO: Handle the deep link by parsing the path
* and navigating to the appropriate screen.
*
* Possible resolvedLink formats:
*
* 1. https://brandname.go.link/?adj_t=abc123&
* adj_link=https%3A%2F%2Fexample.com%2Fsummer-clothes%3Fpromo%3Dbeach
* -> extract and decode the deep link from adj_link
*
* 2. https://brandname.go.link/summer-clothes?promo=beach&adj_t=abc123
* -> extract path from the URL
*
* 3. example://summer-clothes?promo=beach&adj_t=abc123
* -> extract path from the URL
*
* Note (Android only): If your Android app scheme path differs from iOS,
* you may receive:
* https://brandname.go.link/?adj_t=abc123&
* adj_deep_link=example%3A%2F%2Fandroid-specific-path%3Fparam%3Dvalue
* -> extract and decode the deep link from adj_deep_link
*/
};
Adjust.initSdk(adjustConfig);