Amplitude

Amplitude 是一款功能强大的移动分析服务。借助 Adapty,你可以轻松地将事件发送到 Amplitude,了解用户行为,并做出更明智的决策。

Adapty 提供完整的数据集,让你可以在一个地方追踪来自各应用商店的订阅事件,并将其发送到你的 Amplitude 账户。这样你就能在 Amplitude 中将用户行为与其付款历史相匹配,从而为产品决策提供依据。

如何设置 Amplitude 集成

在 Adapty 中,你可以为来自 Apple 或 Stripe 沙盒环境或 Google 测试账户的生产事件和测试事件分别设置独立的流程。

  • 对于生产事件,请在 Adapty 中输入 Amplitude 看板中的 Production API 密钥,每个平台(iOS、Android 和 Stripe)使用各自独立的 API 密钥。
  • 对于测试事件,请按需填写 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 key将 iOS/ 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 events选择是否排除 Adapty SDK 安装前的事件,以防止数据重复。例如,如果用户在 1 月 10 日订阅,但在 3 月 6 日才安装 Adapty SDK,则 Adapty 仅会发送 3 月 6 日起的事件。
    Send User Attributes选择此选项以发送用户特定属性,例如语言偏好。
    Always populate user_idAdapty 会自动将 device_id 作为 amplitudeDeviceId 发送。对于 user_id,此设置定义以下行为:
    • 开启:若 amplitudeUserIdcustomer_user_id 不可用,则发送 Adapty 的 profile_id
    • 关闭:若两个 ID 均不可用,则 user_id 留空。
  4. 选择你希望接收的事件,并映射其名称

  5. 点击 Save 保存更改。

点击 Save 后,Adapty 将开始向 Amplitude 发送事件。

除事件外,Adapty 还会将订阅状态和订阅产品 ID 发送至 Amplitude 用户属性

事件与标签

在凭据下方,有三组事件可供你从 Adapty 发送至 Amplitude,直接开启所需事件即可。完整的 Adapty 事件列表请参阅此处

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

我们建议使用 Adapty 提供的默认事件名称。当然,你也可以根据需要修改事件名称。Adapty 将通过服务器到服务器的集成方式向 Amplitude 发送订阅事件,让你可以在 Amplitude 看板中查看所有订阅事件。

SDK 配置

使用 setIntegrationIdentifier() 方法设置 amplitude_device_id 参数,这是设置集成的必要步骤。

如果你有用户注册流程,也可以同时传入 amplitude_user_id

如果您使用第三方用户 ID 作为 Customer User ID,请不要在 activate() 时传入——第三方 SDK 可能尚未生成该 ID。请先不带 CUID 调用 activate(),然后调用 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_keyString你的 Amplitude API 密钥。
eventsArray事件对象列表(Adapty 每次发送一条)。
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_nameString操作系统名称。
events[].productIdString应用商店中的产品 ID。
events[].revenueFloat收入金额。
events[].event_propertiesObject详细事件属性(包含所有可用的事件字段)。
events[].user_propertiesObject用户属性,如订阅状态。