概要:ディープリンクとディファードディープリンクの従来の方法を紹介します。注:従来の方法ではなくUDLメソッドを使用することを推奨します。

ディープリンクにより、マーケティング担当者は既存アプリユーザーを特定のアプリ体験(例えば、アプリ内の特定のページなど)へ誘導するためのリンクを作成できます。ディファードディープリンクは、アプリを持っていない新規ユーザーに、まずアプリストアでのアプリダウンロードを促し、その後特定のアプリ体験へ誘導します。

ディープリンク

Overview

ディープリンクは、モバイルユーザーを特定のアクティビティまたはアプリ内コンテンツに誘導します。

このようなアプリ内での特定のアクティビティへのルーティングは、OSがアプリを開いたときにアプリに渡される deep_link_value と、onAppOpenAttribution メソッドが呼び出されることで可能になります。AppsFlyerのOneLinkは、ユーザーのクリックに伴い正しい値が渡されるため、ユーザーのアプリ体験をパーソナライズすることができます。

ディープリンクの場合は、deep_link_value のみが必要です。ただし、その他のパラメーターと値(カスタム計測パラメーターなど)もリンクに追加でき、SDKがディープリンクデータとして返すことも可能です。

マーケティング担当者とディベロッパーは、希望のアプリ動作と deep_link_value について共同で決定する必要があります。マーケティング担当者はこのパラメーターをディープリンクを作成するために使用し、ディベロッパーは、受け取った値をもとにアプリの動作をカスタマイズします。

AppsFlyer SDKは、ユーザーがクリックしたリンクからパラメータを返します。アプリ内のルーティングやリンク内のデータのパーソナライズのために、アプリ内でパラメーターが正しく処理されるようにするのはディベロッパーの責任です。

ディープリンクは次の流れで機能します

  1. ユーザーがOneLinkのショートURLをクリックします。
  2. Androidは、AndroidManifest.xml の関連するアクティビティに基づいてアプリを起動します。
  3. AppsFlyer SDKがアプリ内で起動します。
  4. AppsFlyer SDKはOneLinkデータを取得します。
    • ショートURLでは、AppsFlyerのサーバーにあるショートURLリゾルバAPIからデータを取得します。
    • ロングURLでは、データを直接取得しています。
  5. AppsFlyer SDKが、取得したパラメーターとキャッシュした計測パラメーター(例:install_time)と一緒に onAppOpenAttribution() をトリガーします。
  6. 非同期的に、onConversionDataSuccess() が呼び出され、キャッシュされた計測データを完全に保持します。(is_first_launchtrueであるかどうかを確認することで、この関数を終了することができます。)
  7. onAppOpenAttribution() は、attributionData マップを使用してアプリ内のその他のアクティビティを起動し、関連するデータを渡します。
    • これにより、OneLinkの最大の目的である、ユーザーのためのパーソナライズされた体験が生まれます。

Procedures

onAppOpenAttribution メソッドを実装し、パラメーターの動作を設定するには、次の手順のチェックリストを完了する必要があります。

手順のチェックリスト

  1. マーケターと一緒にアプリの動作と deep_link_value を決定(およびその他のパラメーター名と値)
  1. マーケターと一緒にメソッド入力(例:deep_link_value)の計画(およびその他のパラメーター名と値)
  1. onAppOpenAttribution() ロジックの実装
  1. onAttributionFailure() ロジックの実装

アプリの動作を決定

リンクがクリックされた際のアプリ動作を決定する方法

マーケティング担当者から、アプリがクリックされた際に期待する動作を聞き出してください。

メソッドインプットの計画

OneLinkがクリックされ、ユーザーのデバイスにアプリがインストールされている場合、AppsFlyer SDKにより onAppOpenAttribution メソッドが呼び出されます。これはリターゲティングエンゲージメントと呼ばれます。

onAppOpenAttribution は、次のようなインプットとして変数を取得します:Map <String, String>
インプットデータの構成はこちらで説明しています。

リンクがクリックされた際に期待するアプリの動作に基づいて、マーケティング担当者とディベロッパーは、deep_link_value(およびその他のパラメーターと値)について、共同で計画する必要があります。

期待するリンクの動作に基づいて、deep_link_value、およびその他のパラメーター名と値を計画する方法

  1. 希望するアプリの動作を実装するために必要なパラメーターと値について、マーケティング担当者に伝えてください。
  2. deep_link_value とその他のパラメーターと値の命名規則を決定してください。
    :カスタムパラメーターは、AppsFlyerのローデータには表示されません。

📘

ヒント

マーケティング担当者とデベロッパーは、アプリの更新作業を最小限に抑えるために、deep_link_value(およびその他パラメーター/値)のための長期的なシステムを一緒に決定する必要があります。

deep_link_value は、SKU、投稿ID、パスなどに基づいて指定できます。選択したパラメータに動的な値を入力できるシステムの構築ついて、開発担当者と合意することを強くお勧めします。そうすることで、開発者に毎回アプリのコード変更を依頼する必要なく、アプリ内の異なるコンテンツにユーザーを遷移させる様々なディープリンクをマーケティング担当者が生成できます。

次のURLの例を参照してください。フルーツタイプのdeep_link_valueは、マーケティング担当者とディベロッパーが共同で選択したものです。そして、デベロッパーが値を動的なものに設定したので、マーケティング担当者は開発チームにこれ以上作業を依頼することなく任意のフルーツを入力することができます。

https://onelink-sample-app.onelink.me/H5hv?pid=Email&c=fruit_of_the_month**&deep_link_value=apples**...
https://onelink-sample-app.onelink.me/H5hv?pid=Email&c=fruit_of_the_month**&deep_link_value=bananas**...
https://onelink-sample-app.onelink.me/H5hv?pid=Email&c=fruit_of_the_month**&deep_link_value=peaches**...

onAppOpenAttribution() ロジックの実装

ディープリンクは、メインアクティビティ内でonAppOpenAttribution メソッドを開きます。メソッドインプットにある deep_link_value とその他のパラメーターは、アプリ起動時の特定のユーザー体験の実装に使用されます。

ロジックを実装する方法

  1. 選択したパラメーターと値に基づいてロジックを実装してください。次のコードの例を参照してください。
  2. 完了後、アプリが予定通り動作するかの確認をマーケティング担当者に送ります。

📘

サンプルコード

@Override
  public void onAppOpenAttribution(Map<String, String> attributionData) {
  if (!attributionData.containsKey("is_first_launch"))
    Log.d(LOG_TAG, "onAppOpenAttribution: This is NOT deferred deep linking");
  for (String attrName : attributionData.keySet()) {
    String deepLinkAttrStr = attrName + " = " + attributionData.get(attrName);
    Log.d(LOG_TAG, "Deeplink attribute: " + deepLinkAttrStr);
  }
  Log.d(LOG_TAG, "onAppOpenAttribution: Deep linking into " + attributionData.get("deep_link_value"));
  goToFruit(attributionData.get("deep_link_value"), attributionData);
}

@Override
  public void onAttributionFailure(String errorMessage) {
  Log.d(LOG_TAG, "error onAttributionFailure : " + errorMessage);
}

private void goToFruit(String fruitName, Map<String, String> dlData) {
    String fruitClassName = fruitName.concat("Activity");
    try {
        Class fruitClass = Class.forName(this.getPackageName().concat(".").concat(fruitClassName));
        Log.d(LOG_TAG, "Looking for class " + fruitClass);
        Intent intent = new Intent(getApplicationContext(), fruitClass);
        if (dlData != null) {
            // Map is casted HashMap since it is easier to pass serializable data to an intent
            HashMap<String, String> copy = new HashMap<String, String>(dlData);
            intent.putExtra(DL_ATTRS, copy);
        }
        startActivity(intent);
    } catch (ClassNotFoundException e) {
        Log.d(LOG_TAG, "Deep linking failed looking for " + fruitName);
        e.printStackTrace();
    }
}

⇲ Github リンク:Java

📘

注意

onAppOpenAttribution は、アプリがバックグラウンドで動作していて、Application LaunchModeが標準でない場合には呼び出されません。

これを修正するには、アプリケーションが非標準の LaunchMode を使用している場合、setIntent(intent) メソッドを呼び出して、オーバーライドされたメソッド onNewIntent の中でインテント値を設定します。

import android.content.Intent;
...
...
...
@Override
protected void onNewIntent(Intent intent) 
{ 
  super.onNewIntent(intent);     
  setIntent(intent);
}

onAttributionFailure() ロジックの実装

onAttributionFailure メソッドは、onAppOpenAttribution が失敗するたびに呼び出されます。この関数は、エラーを報告し、ユーザーに期待される体験を提供する必要があります。

onAttributionFailure メソッドを実装する方法

次のコードを入力してください:

@Override
public void onAttributionFailure(String errorMessage) {
    Log.d(LOG_TAG, "error onAttributionFailure : " + errorMessage);
}

⇲ Github リンク:Java

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

Overview

ディファードディープリンクは、新規ユーザーがアプリをインストールするために正しいアプリストアへ誘導し、その後、初回起動後に特定のアプリ体験(例:アプリ内の特定のページ)へ誘導します。

ユーザーがアプリを初めて起動したとき、onConversionDataSuccessコールバック関数は、新規ユーザーのコンバージョンデータとOneLinkデータの両方を受取ります。OneLinkデータは、OSがアプリを起動したときにアプリに渡されるdeep_link_valueによりアプリ内のルーティングを可能します。

ディープリンクの場合は、deep_link_value のみが必要です。ただし、その他のパラメーターと値(カスタム計測パラメーターなど)もリンクに追加でき、SDKがディープリンクデータとして返すことも可能です。AppsFlyer OneLinkは、ユーザーのクリックに伴い正しいパラメーターが渡されるため、ユーザーのアプリ体験をパーソナライズすることができます。

マーケティング担当者とディベロッパーは、希望のアプリ動作と deep_link_value について共同で決定する必要があります。マーケティング担当者はこのパラメーターをディープリンクを作成するために使用し、ディベロッパーは、受け取った値をもとにアプリの動作をカスタマイズします。

アプリ内でのルーティングやリンク先でのデータのパーソナライズなど、アプリ内でパラメータが正しく処理されるように実装するのはディベロッパーの責任です。

ディープリンクは次の流れで機能します

  1. ユーザーが、アプリがまだインストールされていないデバイス上でOneLinkをクリックします。
  2. AppsFlyerはクリックを登録し、ユーザーを正しいアプリストアまたはランディングページに誘導します。
  3. ユーザーがアプリをインストールし起動します。
  4. AppsFlyer SDKが初期化され、AppsFlyerサーバーにインストールが帰属されます。
  5. SDKは onConversionDataSuccess メソッドをトリガーします。関数は、deep_link_value とOneLinkデータで定義された計測データ/パラメーターの両方を含むインプットを受け取ります。
  6. パラメーター is_first_launch は、ディファードディープリンクのフローを示す値 true を持っています。
    ディベロッパーは onConversionDataSuccess 関数で受信したデータを使用し、ユーザーの初回起動時にパーソナライズされたユーザー体験を提供します。

Procedures

onConversionDataSuccessメソッドを実装し、パラメーターの動作を設定するには、次の手順のチェックリストを完了する必要があります。

手順のチェックリスト

  1. マーケターと一緒に初回起動時のアプリの動作と、deep_link_valueを決定(およびその他のパラメーターと値)
  1. マーケターと一緒にメソッド入力(例:deep_link_value)の計画(およびその他のパラメーター名と値)
  1. onConversionDataSuccess() ロジックの実装
  1. onConversionDataFail() ロジックの実装

初回起動時のアプリ動作を決定する

初回起動時のアプリ動作を決定する

マーケティング担当者から、リンクがクリックされたときと、アプリが初回起動されたときに期待される動作を入手してください。

メソッドインプットの計画

ディファードディープリンクでは、onConversionDataSuccess メソッドのインプットを計画する必要があり、アプリの初回起動時に前項で決定した(ディープリンク向け)インプットを関連付ける必要があります。

onConversionDataSuccessメソッドは、deep_link_valueとその他の変数を、次のようなインプットで取得します:Map <String, Object>。

マップには2種類のデータがあります:

  • 計測データ
  • マーケティング担当者がリンクで定義したデータ(deep_link_valueとその他のパラメータと値)
    その他のパラメータは以下のいずれかとなります。
    • AppsFlyerの公式パラメーター
    • マーケティング担当者とディベロッパーが選択したカスタムパラメーターと値
    • インプットデータの構成はこちらで説明しています。

リンクがクリックされた際に期待されるアプリの動作に基づいて、マーケティング担当者とディベロッパーは、deep_link_value(およびその他のパラメーターと値)について、共同で計画する必要があります。

期待するリンクの動作に基づいて、deep_link_value、およびその他のパラメーター名と値を計画する方法

  1. 希望するアプリの動作を実装するために必要なパラメーターと値について、マーケティング担当者に伝えてください。
  2. deep_link_value とその他のパラメーターと値の命名規則を決定してください。
    • カスタムパラメーターは、AppsFlyerのローデータには表示されません。
    • コンバージョンデータは、小文字の「n」を使ったカスタムパラメーター名「name」を返しません。

onConversionDataSuccess() ロジックの実装

アプリが初回起動されたとき、onConversionDataSuccess メソッドはメインアクティビティ内でトリガーされます。メソッドメソッド内の deep_link_value とその他のパラメーターは、アプリの初回起動時の特定のユーザー体験を実装するために使用されます。

ロジックを実装する方法

  1. 選択したパラメーターと値に基づいてロジックを実装してください。次のコードの例を参照してください。
  2. 完了後、アプリが予定通り動作するかの確認をマーケティング担当者に送ります。

📘

サンプルコード

@Override
 public void onConversionDataSuccess(Map<String, Object> conversionData) {
     for (String attrName : conversionData.keySet())
         Log.d(LOG_TAG, "Conversion attribute: " + attrName + " = " + conversionData.get(attrName));
     String status = Objects.requireNonNull(conversionData.get("af_status")).toString();
     if(status.equals("Non-organic")){
         if( Objects.requireNonNull(conversionData.get("is_first_launch")).toString().equals("true")){
             Log.d(LOG_TAG,"Conversion: First Launch");
             if (conversionData.containsKey("deep_link_value")){
                 Log.d(LOG_TAG,"Conversion: This is deferred deep linking.");
                 //  TODO SDK in future versions - match the input types
                 Map<String,String> newMap = new HashMap<>();
                 for (Map.Entry<String, Object> entry : conversionData.entrySet()) {
                         newMap.put(entry.getKey(), String.valueOf(entry.getValue()));
                 }
                 onAppOpenAttribution(newMap);
             }
         } else {
             Log.d(LOG_TAG,"Conversion: Not First Launch");
         }
     } else {
         Log.d(LOG_TAG,"Conversion: This is an organic install.");
     }
 }

⇲ Github リンク:Java

onConversionDataFailure() ロジックの実装

onConversionDataFailure メソッドは、onConversionDataSuccess が失敗するたびに呼び出されます。この関数は、エラーを報告し、ユーザーに期待される体験を提供する必要があります。

onConversionDataFailure メソッドを実装する方法

次のコードを入力してください:

@Override
public void onConversionDataFail(String errorMessage) {
    Log.d(LOG_TAG, "error getting conversion data: " + errorMessage);
}

⇲ Github リンク:Java

一般的なデータ構造

このセクションでは、OneLinkがインプットとして渡すことができるデータ構造と可能なパラメーターに関する情報が含まれています。

Input parameters

次の表には、OneLinkがインプットとして渡すことができるパラメーターのリストが含まれています。

インプットマップには2種類のデータがあります:

  • 計測データ
  • リンク内でマーケティング担当者が定義したデータ(パラメーターと値)
    パラメーターは次のいずれかです:
    • AppsFlyerの公式パラメーター
    • マーケティング担当者とディベロッパーが選択したカスタムパラメーターと値

📘

注意

  • 次の表はAppsFlyer SDK 5.4.1以上に関連するものです。以前のSDKバージョンでは、パラメータが存在しない、または名前が変更されている場合があります。
  • 非推奨とされていないパラメーターは、すべての OneLink タイプに関連しています。
    • ショートURL
    • ロングURL
    • 全OSのリンク:
      • Androidアプリリンク
      • ユニバーサルリンク
      • URLスキーム(iOSとAndroidの両方)

パラメーター名

タイプ

詳細

備考

af_dp

文字列

URIスキームURL

アプリリンクのフォールバック。
例:afbasicapp://mainactivity

link

文字列

ディープリンクの実行に使用された完全なリンク。

例: https://onelink-basic-app.onelink.me/H5hv?pid=Email&c=fruit_of_the_month

deep_link_value

文字列

ユーザーが誘導される特定のアプリ内コンテンツの値名です。

pid (media source)

文字列

OneLinkのメディアソース、例:email、SMS、social media

install_time

文字列

アプリが初回起動された時刻。

非推奨
例:2020-05-06 13:51:19

scheme

文字列

URLの最初の単語で、インターネット上のリソースにアクセスする際に使用するプロトコルを識別します。例: mygreatapp://mainactivity または https://killerapp.onelink.me/coolactivity/H7JK

非推奨
httphttps は、URIスキームに使用しないでください。

host

文字列

リソースを保有するホストを識別します。例:mygreatapp://mainactivity または
https://**killerapp.onelink.me**/coolactivity/H7JK

非推奨

path

文字列

Webクライアントがアクセスしたいホスト内の特定のリソースです。例:https://killerapp.onelink.me/coolactivity/**H7JK**

非推奨
URIスキームには関係ありません

shortlink

文字列

元のリンクよりも大幅に少ない文字数で短縮されたURLです。例:https://killerapp.onelink.me/coolactivity/H7JK/**checkitout**

af_web_id

文字列

ピープルベースドアトリビューションのためのトークンです。

af_status

文字列

非推奨
URIシナリオでのみ渡されます

af_deeplink

Boolean

非推奨
URIシナリオでのみ渡されます

c (campaign)

文字列

マーケティングキャンペーンの名称

AppsFlyer管理画面でマーケティング担当者が設定した値。

is_retargeting

Boolean

リターゲティングキャンペーンの一環としてリンクを識別します。

値はマーケティング担当者が設定します。

af_ios_url

文字列

関連がない場合でも、Androidデバイスにも渡されます。

af_android_url

文字列

Androidデバイスでディープリンクが失敗した場合のフォールバックURL。

af_sub[1-5]

文字列

広告主が事前に定義したオプションのパラメーター。

AppsFlyer管理画面でマーケティング担当者が設定した値。
アプリ内ルーティングに関連するパラメータを渡す場合に推奨されます。

af_adset

文字列

広告セットはキャンペーンと広告の間に位置する階層です。

AppsFlyer管理画面でマーケティング担当者が設定した値

af_channel

文字列

広告が配信されるメディアソースのチャンネル。例:UAC_Search、UAC_Display、Instagram、Facebook Audience Network など。

AppsFlyer管理画面でマーケティング担当者が設定した値

ad_adname

文字列

マーケティング担当者/パブリッシャーから提供された広告名。

AppsFlyer管理画面でマーケティング担当者が設定した値

af_cost_currency

文字列

ISO-4217に準拠した3 文字の通貨コード。例:USD、ZAR、EUR
[デフォルト]:USD

AppsFlyer管理画面でマーケティング担当者が設定した値

af_cost_value

文字列

通貨設定 (af_cost_currency) に則したコストの値です。

AppsFlyer管理画面でマーケティング担当者が設定した値

af_click_lookback

文字列

設定可能なルックバッククリック計測期間の日数。

AppsFlyer管理画面でマーケティング担当者が設定した値

af_force_deeplink

Boolean

af_dpの値で指定されたアクティビティに強制的にディープリンクさせます。

iOSのみに関連します。
関連性がなくても、値はAndroidにも渡されます。

Android sample payloads

以下、ユニバーサルリンク、URIスキーム、ディファードディープリンクのサンプルペイロードを参照してください。サンプルにはフルペイロードが含まれており、Onelinkのカスタムリンク設定ページのすべてのパラメーターにデータが含まれている場合に関連します。

:ペイロードはマップとして返されます。ただし、わかりやすくするため、以下のサンプルペイロードはJSON形式で表示しています。

アプリリンク

インプット先: onAppOpenAttribution(Map<String, String> attributionData)

{
    "af_dp": "afbasicapp://mainactivity",
    "af_ios_url": "https://isitchristmas.com/",
    "fruit_name": "apples",
    "c": "fruit_of_the_month",
    "media_source": "Email",
    "link": "https://onelink-basic-app.onelink.me/H5hv/6d66214a",
    "pid": "Email",
    "af_cost_currency": "USD",
    "af_sub1": "my_sub1",
    "af_click_lookback": "20d",
    "af_adset": "my_adset",
    "af_android_url": "https://isitchristmas.com/",
    "af_sub2": "my_sub2",
    "fruit_amount": 26,
    "af_cost_value": 6,
    "campaign": "fruit_of_the_month",
    "af_channel": "my_channel",
    "af_ad": "my_adname",
    "is_retargeting": "true"
}
{
    "af_dp": "afbasicapp://mainactivity",
    "install_time": "2020-08-06 06:56:02",
    "fruit_name": "apples",
    "af_ios_url": "https://my_ios_lp.com",
    "media_source": "Email",
    "scheme": "https",
    "link": "https://onelink-basic-app.onelink.me/H5hv?pid=Email&c=fruit_of_the_month&af_channel=my_channel&af_adset=my_adset&af_ad=my_adname&af_sub1=my_sub1&af_sub2=my_sub2&fruit_name=apples&fruit_amount=16&af_cost_currency=USD&af_cost_value=6&af_click_lookback=20d&af_dp=afbasicapp%3A%2F%2Fmainactivity&af_ios_url=https%3A%2F%2Fmy_ios_lp.com&af_android_url=https%3A%2F%2Fmy_android_lp.com",
    "af_cost_currency": "USD",
    "af_sub1": "my_sub1",
    "af_click_lookback": "20d",
    "path": "/H5hv",
    "af_adset": "my_adset",
    "af_android_url": "https://my_android_lp.com",
    "af_sub2": "my_sub2",
    "fruit_amount": 16,
    "af_cost_value": 6,
    "host": "onelink-basic-app.onelink.me",
    "campaign": "fruit_of_the_month",
    "af_channel": "my_channel",
    "af_ad": "my_adname"
}

URIスキーム

インプット先: onAppOpenAttribution(Map<String, String> attributionData)

{
    "scheme": "afbasicapp",
    "link": "afbasicapp://mainactivity?af_ad=my_adname&af_adset=my_adset&af_android_url=https%3A%2F%2Fmy_android_lp.com&af_channel=my_channel&af_click_lookback=25d&af_cost_currency=NZD&af_cost_value=5&af_deeplink=true&af_dp=afbasicapp%3A%2F%2Fmainactivity&af_force_deeplink=true&af_ios_url=https%3A%2F%2Fmy_ios_lp.com&af_sub1=my_sub1&af_sub2=my_sub2&af_web_id=367f81fb-59a4-446a-ac6c-a68d2ee9447c-p&campaign=my_campaign&fruit_amount=15&fruit_name=apples&is_retargeting=true&media_source=Email&shortlink=9270d092",
    "af_cost_currency": "NZD",
    "af_click_lookback": "25d",
    "af_deeplink": true,
    "path": "",
    "af_android_url": "https://my_android_lp.com",
    "af_force_deeplink": true,
    "fruit_amount": 15,
    "host": "mainactivity",
    "af_channel": "my_channel",
    "shortlink": "9270d092",
    "af_dp": "afbasicapp://mainactivity",
    "install_time": "2020-08-06 06:56:02",
    "af_ios_url": "https://my_ios_lp.com",
    "fruit_name": "apples",
    "af_web_id": "367f81fb-59a4-446a-ac6c-a68d2ee9447c-p",
    "media_source": "Email",
    "af_status": "Non-organic",
    "af_sub1": "my_sub1",
    "af_adset": "my_adset",
    "af_sub2": "my_sub2",
    "af_cost_value": 5,
    "campaign": "my_campaign",
    "af_ad": "my_adname",
    "is_retargeting": true
}
{
    "af_dp": "afbasicapp://mainactivity",
    "install_time": "2020-08-06 06:56:02",
    "af_ios_url": "https://my_ios_lp.com",
    "fruit_name": "apples",
    "af_web_id": "367f81fb-59a4-446a-ac6c-a68d2ee9447c-p",
    "scheme": "afbasicapp",
    "media_source": "Email",
    "link": "afbasicapp://mainactivity?af_ad=my_adname&af_adset=my_adset&af_android_url=https%3A%2F%2Fmy_android_lp.com&af_channel=my_channel&af_click_lookback=25d&af_cost_currency=NZD&af_cost_value=5&af_deeplink=true&af_dp=afbasicapp%3A%2F%2Fmainactivity&af_ios_url=https%3A%2F%2Fmy_ios_lp.com&af_sub1=my_sub1&af_sub2=my_sub2&af_web_id=367f81fb-59a4-446a-ac6c-a68d2ee9447c-p&campaign=my_campaign&fruit_amount=15&fruit_name=apples&is_retargeting=true&media_source=Email",
    "af_cost_currency": "NZD",
    "af_status": "Non-organic",
    "af_click_lookback": "25d",
    "af_sub1": "my_sub1",
    "af_deeplink": true,
    "path": "",
    "af_android_url": "https://my_android_lp.com",
    "af_adset": "my_adset",
    "fruit_amount": 15,
    "af_sub2": "my_sub2",
    "host": "mainactivity",
    "af_cost_value": 5,
    "campaign": "my_campaign",
    "af_channel": "my_channel",
    "af_ad": "my_adname",
    "is_retargeting": true
}

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

インプット先: onConversionDataSuccess(Map<String, Object> conversionData)

{
    "redirect_response_data": null,
    "adgroup_id": null,
    "engmnt_source": null,
    "retargeting_conversion_type": "none",
    "orig_cost": 6.0,
    "af_cost_currency": "USD",
    "is_first_launch": true,
    "af_click_lookback": "20d",
    "af_cpi": null,
    "iscache": true,
    "click_time": "2020-08-12 16:04:50.605",
    "af_android_url": "https://isitchristmas.com/",
    "fruit_amount": 26,
    "is_branded_link": null,
    "match_type": "fingerprinting",
    "adset": null,
    "af_channel": "my_channel",
    "campaign_id": null,
    "shortlink": "6d66214a",
    "af_dp": "afbasicapp://mainactivity",
    "install_time": "2020-08-12 16:05:33.750",
    "af_ios_url": "https://isitchristmas.com/",
    "fruit_name": "apples",
    "media_source": "Email",
    "agency": null,
    "af_siteid": null,
    "af_status": "Non-organic",
    "af_sub1": "my_sub1",
    "cost_cents_USD": 600,
    "af_sub5": null,
    "af_adset": "my_adset",
    "af_sub4": null,
    "af_sub3": null,
    "af_sub2": "my_sub2",
    "adset_id": null,
    "esp_name": null,
    "af_cost_value": 6,
    "campaign": "fruit_of_the_month",
    "http_referrer": "android-app://com.slack/",
    "af_ad": "my_adname",
    "is_universal_link": null,
    "is_retargeting": true,
    "adgroup": null
}

このページは役に立ちましたか?