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 文档。建议先使用 Sandbox 密钥进行测试,测试通过后再切换为 Production 密钥。|

  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_id | Adapty 会自动将 device_id 作为 amplitudeDeviceId 发送。对于 user_id,此设置定义了以下行为:

    • ON:若 amplitudeUserIdcustomer_user_id 均不可用,则发送 Adapty 的 profile_id
    • OFF:若两个 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"
      }
    }
  ]
}

It looks like your message got cut off — there’s no MDX documentation included. Please paste the full MDX content you’d like me to translate, and I’ll get started right away!

参数类型描述
api_keyString您的 Amplitude API Key。
eventsArray事件对象列表(Adapty 每次发送一个)。
events[].partner_idString固定值为 “adapty”。
events[].event_typeString事件名称(由 Adapty 事件映射而来)。
events[].timeLong事件时间戳,单位为毫秒。
events[].insert_idString唯一事件 ID(UUID)。
events[].user_idStringAmplitude User ID 或 Customer User ID。
events[].device_idStringAmplitude Device ID。
events[].platformString平台(如 “iOS”、“Android”)。
events[].os_nameString操作系统名称。
events[].productIdString商店中的产品 ID。
events[].revenueFloat收入金额。
events[].event_propertiesObject详细事件属性(包含所有可用的事件字段)。
events[].user_propertiesObject用户属性,如订阅状态。