Amplitude

Amplitude は強力なモバイル解析サービスです。Adaptyと組み合わせることで、イベントをAmplitudeに簡単に送信し、ユーザーの行動を把握して、的確な意思決定を行えます。

Adaptyは、ストアからのサブスクリプションイベントを一箇所で追跡できる完全なデータセットを提供し、Amplitudeアカウントに送信します。これにより、Amplitude上でユーザーの行動と課金履歴を紐付け、プロダクトの意思決定に役立てることができます。

Amplitude 連携のセットアップ方法

Adaptyでは、AppleまたはStripeサンドボックス環境、もしくはGoogleテストアカウントからの本番イベントとテストイベントに対して、それぞれ個別のフローを設定できます。

  • 本番イベントには、AmplitudeダッシュボードのプラットフォームごとのAPIキー(iOS、Android、Stripe各固有のキー)を Production フィールドに入力してください。
  • テストイベントには、必要に応じて Sandbox フィールドを使用してください。

Amplitude連携をセットアップするには:

  1. Adapty ダッシュボードで Integrations -> Amplitude を開きます。
3b50552-CleanShot_2023-08-15_at_16.47.102x.webp
  1. Amplitude integration をオンに切り替えて有効化します。

  2. 連携フィールドに入力します:

    フィールド説明
    Amplitude iOS/ Android/ Stripe API keyiOS / Android / Stripe用のAmplitude API Key をAdaptyに入力します。Amplitudeの Project settings から確認できます。詳しくは Amplitude ドキュメント をご覧ください。まず Sandbox キーでテストを行い、成功したら Production キーに切り替えてください。
    2297782-CleanShot_2023-08-15_at_16.53.512x.webp
  3. さらに詳細なカスタマイズのためのオプション設定:

    パラメータ説明
    How the revenue data should be sent総収益を送るか、税金と手数料控除後の収益を送るかを選択します。詳細はストア手数料と税金をご覧ください。
    Exclude historical eventsAdapty SDK インストール以前のイベントを除外するか選択します。データの重複を防ぐことができます。たとえば、ユーザーが1月10日にサブスクリプションを開始し、3月6日にAdapty SDKをインストールした場合、Adaptyは3月6日以降のイベントのみを送信します。
    Send User Attributes言語設定などのユーザー固有の属性を送信するにはこのオプションを選択します。
    Always populate user_idAdaptyは自動的に device_idamplitudeDeviceId として送信します。user_id については、この設定で動作を定義します:
    • ONamplitudeUserId または customer_user_id が利用できない場合、Adaptyの profile_id を送信します。
    • OFF:いずれのIDも利用できない場合、user_id を空のままにします。
  4. 受信したいイベントを選択し、イベント名をマッピングします。

  5. Save をクリックして変更を保存します。

Save をクリックすると、AdaptyはAmplitudeへのイベント送信を開始します。

イベントに加えて、AdaptyはサブスクリプションステータスとサブスクリプションのプロダクトIDをAmplitudeユーザープロパティに送信します。

イベントとタグ

認証情報の下に、AdaptyからAmplitudeに送信できるイベントが3つのグループに分かれて表示されています。必要なものをオンにするだけで使えます。Adaptyが提供するイベントの全リストはこちらで確認できます。

da67694-CleanShot_2023-08-15_at_16.52.352x.webp

Adaptyが提供するデフォルトのイベント名を使用することをお勧めします。ただし、必要に応じてイベント名を変更することも可能です。Adaptyはサーバー間連携を使ってAmplitudeにサブスクリプションイベントを送信するため、Amplitudeダッシュボードですべてのサブスクリプションイベントを確認できます。

SDK の設定

setIntegrationIdentifier() メソッドを使用して amplitude_device_id パラメータを設定します。これは連携のセットアップに必須です。

ユーザー登録がある場合は、amplitude_user_id も合わせて渡すことができます。

サードパーティSDKはユーザーIDを非同期で生成します。Adapty.activate() の実行時にIDがまだ準備できていない場合があります。Customer User ID がこれらのSDKのいずれかから取得される場合は、IDなしで Adapty.activate() を呼び出してください。IDが取得できたら、setIntegrationIdentifier() を呼び出し、次にCUIDで identify() を呼び出してください。

Amplitude イベント構造

AdaptyはHTTP API v2を介してAmplitudeにイベントを送信します。各イベントの構造は次のとおりです:

{
  "api_key": "your_amplitude_api_key",
  "events": [
    {
      "partner_id": "adapty",
      "event_type": "subscription_renewed",
      "time": 1709294400000,
      "insert_id": "123e4567-e89b-12d3-a456-426614174000",
      "user_id": "user_12345",
      "device_id": "device_12345",
      "platform": "iOS",
      "os_name": "iOS",
      "productId": "yearly.premium.6999",
      "revenue": 9.99,
      "event_properties": {
        "vendor_product_id": "yearly.premium.6999",
        "original_transaction_id": "GPA.3383...",
        "currency": "USD",
        "environment": "Production",
        "store": "app_store"
      },
      "user_properties": {
        "subscription_state": "subscribed",
        "subscription_product": "yearly.premium.6999"
      }
    }
  ]
}

各フィールドの説明:

パラメータ説明
api_keyStringAmplitude API キー。
eventsArrayイベントオブジェクトのリスト(Adaptyは1件ずつ送信します)。
events[].partner_idString常に “adapty”。
events[].event_typeStringイベント名(Adaptyイベントからマッピングされたもの)。
events[].timeLongイベントのタイムスタンプ(ミリ秒)。
events[].insert_idString一意のイベントID(UUID)。
events[].user_idStringAmplitude ユーザーIDまたはカスタマーユーザーID。
events[].device_idStringAmplitude デバイスID。
events[].platformStringプラットフォーム(例:「iOS」、「Android」)。
events[].os_nameStringOS名。
events[].productIdStringストアのプロダクトID。
events[].revenueFloat収益額。
events[].event_propertiesObject詳細なイベント属性(利用可能なイベントフィールドをすべて含む)。
events[].user_propertiesObjectサブスクリプションステータスなどのユーザー属性。