ディープリンク
Adjust SDKでは、ディープリンクを使用してユーザーをアプリ内の特定のページに誘導することができます。また、ディープリンクとそのコンテンツを収集して後ほど利用することも可能です。
ディープリンクは2種類あります。
- ダイレクト :ダイレクトディープリンクは、ユーザーがアプリをすでにデバイスにインストールしている場合に使用されます。この場合、ディープリンクはユーザーをリンクで指定された画面にリダイレクトします。
- ディファード :ディファードディープリンクは、ユーザーがアプリをデバイスにインストールしていない場合に使用されます。この場合、ディープリンクは、アプリをインストールするためにユーザーをまずApp Storeに送り、アプリをインストールして起動した後に、SDKがユーザーをリンクで指定された画面にリダイレクトします。
ディープリンクURLは、ユーザーがトラッカーURLからアプリを起動した後、SDKを使うことでアクセスが可能になります。
ダイレクトディープリンク
ユーザーがすでにデバイスにアプリをインストールしている場合、ユーザーがディープリンクを含むトラッカーをクリックすると起動します。その後、ディープリンク情報を解析して後ほど利用することができます。これを行うには、一意のスキーム名を選択するようにしてください。
ユーザーがディープリンクをクリックしたときに、特定のアクティビティが起動するように設定できます。
AndroidManifest.xml
ファイル内のアクティビティに一意のスキーム名を割り当てます。- アクティビティ定義に
intent-filter
セクションを追加します。 - 任意のスキーム名で
android:scheme
プロパティ値を割り当てます。
例えば、MainActivity
というアクティビティを開くには、以下のように設定できます:
<activity android:name=".MainActivity" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name" android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="adjustExample" />
</intent-filter>
</activity>
ユーザーがトラッカーURLをクリックしたときにアプリを開くには、そのスキーム名をdeep_link
パラメーターとしてAdjustトラッカーに追加します。追加情報を含まないトラッカーURLは次のようになります。https://app.adjust.com/abc123?deep_link=adjustExample%3A%2F%2F
上記の例に従って設定すると、ユーザーがトラッカーURLを操作した時にアプリが起動します。アプリが開くと、MainActivity
アクティビティが起動します。MainActivity
クラス内でdeep_link
パラメーターの内容に関する情報を受け取ると、SDKがパラメーターのコンテンツをデコードします。
deep_link
パラメーターコンテンツの配信場所を設定できます。これを行うには、アクティビティにandroid:launchMode
プロパティを設定してください。これはAndroidManifest.xml
ファイルで確認できます。android:launchMode
プロパティの詳細については、Androidの公式ドキュメント を参照してください。
SDKは、アクティビティの Intent
オブジェクト内でディープリンク情報を提供します。これを行うには、アクティビティの onCreate
または onNewIntent
メソッドを使用します。アプリを起動してこれらのメソッドのいずれかをトリガーすると、ディープリンクのコンテンツにアクセスできるようになります。その後、アプリの他の場所でこの情報を使用できます。
これらのメソッドからディープリンクのコンテンツを抽出する方法は以下の通りです。
ディファードディープリンク
Adjust SDKは、デフォルトでディファードディープリンクを開きます。追加の設定は必要ありません。この動作を無効化または変更するには、ディファードディープリンクコールバックを設定する必要があります。
ディファードディープリンクのコールバック
Adjust SDKがディファードディープリンクを受け取った時に、デリゲート関数を呼び出すように設定することができます。このデリゲート関数は、ディープリンクを 文字列 の引数で受け取ります。
ディープリンクを開く場合は、デリゲート関数でtrue
を返してください。ファイルを開かない場合は、 false
を返します。
ディープリンクを使用したリアトリビューション
Adjustはディープリンクを使ったリエンゲージメントキャンペーンをサポートしています。詳しくは、アトリビューションデータをディープリンクに追加する方法をご覧ください。
ユーザーをリアトリビュートするには、アプリ内でAdjust SDKにもう1つのコールをする必要があります。アプリがディープリンクのコンテンツを受け取る時に、appWillOpenUrl(Uri, Context)
メソッドにコールを追加してください。
リンクのresolution(解析と変換)
一部のEメールサービスプロバイダーESPは、マーケティングキャンペーンに独自のカスタムトラッキングドメインを使用しています。カスタムドメインでクリックを計測する場合は、SDKを設定してリンクを解析する必要があります。これを行うには、 AdjustLinkResolution
クラスの resolveLink
メソッドを呼び出します。Adjust SDKはカスタムリンクをたどって、ディープリンクを開いた時にそれを解析します。これにより、Eメールトラッキングキャンペーンとのやり取りを記録することが可能です。
resolveLinkWithUrl
メソッドは以下のパラメーターを受け取ります。
url
- アプリケーションを開いたディープリンク。resolveUrlSuffixArray
- 解析する必要がある設定済みキャンペーンのカスタムドメイン。adjustLinkResolutionCallback
- 最終URLを含むコールバック。
このメソッドは、 resolveUrlSuffixArray
内のドメインに対してディープリンクを確認します。一致するものが見つからない場合、ディープリンクURLをそのまま転送します。一致するものが見つかった場合、リンクの解析を試み、結果のディープリンクを返します。その後、これを callback
パラメーターに保存します。その後、返されたディープリンクを使用してユーザーをリアトリビュートできます。これを行うには、ディープリンクをAdjust.appWillOpenUrl
メソッドにパスします。
callback
URLとして返します。リダイレクトが10以上ある場合、SDKは 10番目 のリダイレクトURLを返します。