adjust-icon

ディープリンクの設定

ディープリンクを作成して、ユーザーをアプリ内の特定の場所に誘導します。Adjust SDKは、ユーザーがデバイスにアプリをインストール済みかどうかによって、異なるロジックを使用します。

  • ダイレクトディープリンクは、ユーザーがアプリをすでにデバイスにインストールしている場合に使用されます。そのリンクは、リンクで指定されたページにユーザーをリダイレクトします。
  • ディファードディープリンクは、ユーザーがアプリをデバイスにインストールしていない場合に使用されます。そのリンクは、ユーザーをアプリストアに送り、アプリを先にインストールしてもらいます。ユーザーがアプリをインストールすると、リンクで指定されたページが開きます。

SDKは、ユーザーがリンクからアプリを起動した後にディープリンクの情報を読み取ることができます。

スキーム名を設定する

ユーザーがアプリをインストールしている場合、ユーザーがディープリンク情報を含むリンクをクリックするとアプリが起動します。Adjust SDKには、ディープリンク情報を解析してアプリ全体で利用するためのツールが備わっています。ディープリンクを設定するには、一意の スキーム名 を選択する必要があります。

ユーザーがディープリンクをクリックしたときに、特定のアクティビティを起動できます。これを行うには、以下の手順に従ってください。

  1. AndroidManifest.xmlファイルでアクティビティに スキーム名 を割り当てます。
  2. アクティビティ定義欄にintent-filterノードを追加します。
  3. intent-filterノード内に、 スキーマ名 を含むandroid:schemeデータノードを追加します。

この例は、MainActivityというアクティビティを スキーム名 adjustExampleで開くように設定する方法を示します。

AndroidManifest.xml
<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>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="http" android:host="insights.go.link" />
<data android:scheme="https" android:host="insights.go.link" />
</intent-filter>
</activity>

これでアプリでURIスキームを処理できるようになります。ユーザーが スキーム名 を含むdeep_linkパラメーターを持つリンクをクリックすると、アクティビティが起動します。

https://app.adjust.com/abc123?deep_link=adjustExample%3A%2F%2F

Android アプリリンクを使用してディープリンクを設定する場合でも、スキーム名の設定を必ず行ってください。

Android アプリリンクには、 AndroidManifest.xmlファイルにintentフィルターを追加して、アプリが処理できるURLを指定します。intentフィルターに、 data要素をandroid:autoVerify="true"アトリビュートとともに含めます。

これで、アプリでAndroid アプリリンクを処理できるようになります。insights.go.linkドメインを含むリンクをユーザーがクリックすると、アプリが自動的に開きます。

https://insights.go.link/login?adj_t=abc123

deep_linkパラメーターコンテンツの配信場所を指定できます。これを行うには、AndroidManifest.xmlファイルでアクティビティにandroid:launchModeプロパティを設定してください。

Adjust SDKは、onCreateまたはonNewIntentメソッドを使ってアクティビティ内のintentオブジェクトにディープリンク情報を送信します。アプリが起動し、これらのメソッドのいずれかが起動すれば、ディープリンクコンテンツにアクセスできます。その後、アプリの他の部分でこの情報をアクセスできます。

onCreateまたはonNewIntentメソッド内でgetData()メソッドを呼び出すことで、ディープリンク情報を抽出できます。

ディファードディープリンク

Adjust SDKは、デフォルトでディファードディープリンクを開きます。追加の設定は必要ありません。この動作を無効化するには、setOnDeeplinkResponseListenerメソッドを使用して、ディファード ディープリンク コールバックを設定する必要があります。

メソッドシグネチャー
public void setOnDeeplinkResponseListener(OnDeeplinkResponseListener onDeeplinkResponseListener)

Adjust SDKがディファードディープリンクを受け取った際に、デリゲート関数を呼び出すように設定することができます。このデリゲート関数は、ディープリンクをString引数で受け取ります。

ディープリンクを開く場合は、デリゲート関数でtrueを返してください。ファイルを開かない場合は、 falseを返します。

この例では、コールバック関数で false値を返すことで、SDKがアクティビティを起動しないようにする方法を示しています。

メソッドシグネチャー
public static void appWillOpenUrl(Uri url, Context context)

Adjustはディープリンクを使ったリエンゲージメントキャンペーンをサポートしています。詳細は、Campaign Labのディープリンクをご覧ください。

ユーザーをリアトリビュートするには、アプリがディープリンクコンテンツを受け取る時にappWillOpenUrlメソッドを呼び出す必要があります。Adjust SDKは次に、ディープリンク内の新しいアトリビューションデータを検索します。SDKが新しい情報を見つけた場合、その情報をAdjustのサーバーに転送し、リアトリビューションを行います。

メソッドシグネチャー
public static void resolveLink(final String url,
final String[] resolveUrlSuffixArray,
final AdjustLinkResolutionCallback adjustLinkResolutionCallback)

一部のEメールサービスプロバイダー(ESP)は、マーケティングキャンペーンに独自のカスタムドメインを使用しています。カスタムドメインでクリックを計測する場合は、SDKを設定してリンクを解析する必要があります。これを行うには、 AdjustLinkResolutionクラスのresolveLinkメソッドを呼び出します。Adjust SDKはカスタムリンクをたどって、ディープリンクを開いた時にそれを解析します。これにより、Eメール計測キャンペーンとのやり取りを記録することが可能です。

resolveLinkWithUrlメソッドは以下の引数を受け取ります:

  • urlString):アプリを起動したディープリンク
  • resolveUrlSuffixArrayString[]):解析する必要がある設定済みキャンペーンのカスタムドメイン。
  • adjustLinkResolutionCallbackAdjustLinkResolutionCallback):最終URLを返すコールバック

このメソッドは、resolveUrlSuffixArray内のドメインに対してディープリンクを確認します。一致するものが見つからない場合、ディープリンクURLをそのまま転送します。一致するものが見つかった場合、リンクの解析を試み、結果のディープリンクを返します。その後、これをコールバックパラメーターに保管します。

その後、返されたディープリンクを使用してユーザーをリアトリビュートできます。これを行うには、ディープリンクをAdjust.appWillOpenUrlメソッドにパスします。