ディープリンクを作成して、ユーザーをアプリ内の特定の場所に誘導します。Adjust SDKは、ユーザーがデバイスにアプリをインストール済みかどうかによって、異なるロジックを使用します。
- ダイレクトディープリンクは、ユーザーがアプリをすでにデバイスにインストールしている場合に使用されます。そのリンクは、リンクで指定されたページにユーザーをリダイレクトします。
- ディファードディープリンクは、ユーザーがアプリをデバイスにインストールしていない場合に使用されます。そのリンクは、ユーザーをアプリストアに送り、アプリを先にインストールしてもらいます。ユーザーがアプリをインストールすると、リンクで指定されたページが開きます。
SDKは、ユーザーがリンクからアプリを起動した後にディープリンクの情報を読み取ることができます。
ディープリンクの設定
ユーザーがアプリをインストールしている場合、ユーザーがディープリンクの情報を含むリンクをクリックするとアプリが起動します。Adjust SDKには、アプリ全体にディープリンクの情報を解析するツールが含まれます。
ディープリンクは、アプリレベルで設定する必要があります。使用するプラットフォームに合わせて、以下のリンク先のディープリンク設定手順に従ってください。
ディープリンクを使用したリアトリビューション
ユーザーをリアトリビュートするには、ディープリンクURLでADJDeeplink
/ AdjustDeeplink
オブジェクトをインスタンス化し、 Adjust.processDeeplink
メソッドにパスする必要があります。 Adjust SDKは次に、ディープリンク内の新しいアトリビューションデータを検索します。SDKが新しい情報を見つけた場合、その情報をAdjustのサーバーに転送し、リアトリビューションを行います。
+ (void)processDeeplink:(ADJDeeplink *)deeplink
ディープリンクによるAdjustのリアトリビューションを有効にするには、アプリデリゲートコールバックの1つでディープリンクを取得したら、必ずAdjust.processDeeplink
メソッドを呼び出してください。
import Adjust
class AppDelegate {
func application(application:UIApplication!, didFinishLaunchingWithOptions launchOptions:NSDictionary!) -> Bool { GeneratedPluginRegistrant.registerWithRegistry(self) // Override point for customization after application launch. return super.application(application, didFinishLaunchingWithOptions:launchOptions) }
func application(application:UIApplication!, openURL url:NSURL!, sourceApplication:String!, annotation:AnyObject!) -> Bool { let deeplink = ADJDeeplink(deeplink: url)! Adjust.processDeeplink(deeplink) return true }
func application(application:UIApplication!, continueUserActivity userActivity:NSUserActivity!, restorationHandler:([AnyObject]!)->Void) -> Bool { if (userActivity.activityType() == NSUserActivityTypeBrowsingWeb) { let deeplink = ADJDeeplink(deeplink: userActivity.webpageURL())! Adjust.processDeeplink(deeplink) } return true }}
ディファードディープリンク
bool? isDeferredDeeplinkOpeningEnabled;
SDKはデフォルトでディファードディープリンクを開きます。追加設定はありません。ConfigインスタンスのisDeferredDeeplinkOpeningEnabled
プロパティを false に設定することで非有効化にすることができます。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);//...adjustConfig.isDeferredDeeplinkOpeningEnabled = false;//...Adjust.initSdk(adjustConfig);
ディファードディープリンクのコールバックを設定する
typedef void DeferredDeeplinkCallback(String? deeplink);DeferredDeeplinkCallback? deferredDeeplinkCallback;
関数をconfigインスタンスのdeferredDeeplinkCallback
プロパティに追加することで、Adjust SDKがディファードディープリンクを受け取った際に、関数を呼び出すように設定することができます。この関数は、ディープリンクをString
引数で受け取ります。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);adjustConfig.deferredDeeplinkCallback = (String? deeplink) { print('[Adjust]: Received deferred deeplink: ' + deeplink);};Adjust.initSdk(adjustConfig);
例
この例では、ユーザーがディファードディープリンクを開いたときに、ディープリンクのアドレスをログに記録する方法を示しています。
import 'package:adjust_sdk/adjust.dart';import 'package:adjust_sdk/adjust_config.dart';
initPlatformState() async { AdjustConfig config = new AdjustConfig('2fm9gkqubvpc', AdjustEnvironment.sandbox); config.logLevel = AdjustLogLevel.verbose;
config.deferredDeeplinkCallback = (String? uri) { print('[Adjust]: Received deferred deeplink: ' + uri!); };
Adjust.initSdk(config);}
LinkMeを有効にする
bool? isLinkMeEnabled;
Adjust SDKでは、デバイスのペーストボードからディープリンクの情報をコピーすることが可能です。AdjustのLinkMeソリューションを組み合わせることで、iOS 15以降のデバイスでディファードディープリンクを有効化することができます。
ユーザーがLinkMeのURLをクリックすると、そのリンク情報をシステムのペーストボードにコピーするオプションがあります。Adjust SDKを使用してシステムのペーストボードを読み、ディープリンクの情報を確認することができます。ディープリンクがある場合、SDKはユーザーをアプリ内の正しいページに転送します。
アプリ内でペーストボードの確認を有効化するには、ConfigオブジェクトのisLinkMeEnabled
プロパティをtrue
に設定します。
AdjustConfig adjustConfig = new AdjustConfig('{YourAppToken}', AdjustEnvironment.sandbox);//...adjustConfig.isLinkMeEnabled = true;//...Adjust.initSdk(adjustConfig);