Amplitude

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

Adapty 提供完整的数据集,让您在一处追踪来自各应用商店的订阅事件,并将其发送至您的 Amplitude 账户。这使您能够在 Amplitude 中将用户行为与其付款记录相关联,从而为产品决策提供依据。

如何设置 Amplitude 集成

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

  • 对于生产事件,请在 Amplitude 看板中输入生产环境 API 密钥,每个平台(iOS、Android 和 Stripe)各使用一个唯一的 API 密钥。
  • 对于测试事件,请根据需要填写沙盒字段。

设置 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 文档。测试时先使用沙盒密钥,测试成功后再切换为生产环境密钥。
    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用户属性,例如订阅状态。