アプリがインストールされているユーザーがAdjustリンクをクリックすると、ダイレクトディープリンク機能により、アプリ内の特定のコンテンツへ直接遷移させることができます。
仕組み
- ユーザーがAdjustリンクをクリックします。
- OSがアプリを開き、ディープリンクをネイティブコード(iOS または Android)に渡します。
- Adjust SDKはネイティブコードでOSからのディープリンクをリッスンし、それを
directDeeplinkCallbackに転送します。 - コードがリンクをAdjust SDKに渡し、アトリビューションを行います。SDKはショートブランドリンクを解析します。
- コードは解析されたリンクに基づいてユーザーをナビゲートします。
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 SDKadjustConfig.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);