Amplitude
Amplitude 是一款强大的移动端数据分析服务。通过与 Adapty 集成,你可以轻松将事件发送至 Amplitude,了解用户行为,并据此做出更明智的决策。 Adapty 提供完整的数据集,让你可以在一处追踪来自各应用商店的订阅事件,并将其发送到你的 Amplitude 账户。这样你就能在 Amplitude 中将用户行为与其付款记录关联起来,从而为产品决策提供依据。
如何配置 Amplitude 集成
在 Adapty 中,你可以针对来自 Apple 或 Stripe 沙盒环境,或 Google 测试账户的生产环境事件和测试事件分别配置不同的流程。
- 对于生产环境事件,请在 Amplitude 看板中输入生产环境的 API 密钥,iOS、Android 和 Stripe 各平台需使用独立的 API 密钥。
- 对于测试事件,请按需填写沙盒字段。
配置 Amplitude 集成的步骤如下:
- 在 Adapty 看板中打开 Integrations -> Amplitude。
-
开启 Amplitude integration 以启用它。
-
填写集成字段: | 字段 | 描述 | | ------------------------------------------ | ------------------------------------------------------------ | | Amplitude iOS/ Android/ Stripe API key | 将 iOS/ Android/ Stripe 对应的 Amplitude API Key 填入 Adapty。可在 Amplitude 的 Project settings 中找到该密钥。如需帮助,请参阅 Amplitude 文档。建议先使用 Sandbox 密钥进行测试,测试通过后再切换为 Production 密钥。|
-
可选的进阶自定义设置: | 参数 | 描述 | | --------------------------------------- | ------------------------------------------------------------ | | 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:若
amplitudeUserId或customer_user_id均不可用,则发送 Adapty 的profile_id。 - OFF:若两个 ID 均不可用,则
user_id保持为空。
- ON:若
-
选择您想接收的事件,并映射事件名称。
-
点击 Save 确认更改。
点击 Save 后,Adapty 将开始向 Amplitude 发送事件。
除事件外,Adapty 还会将订阅状态和订阅产品 ID 发送至 Amplitude 用户属性。
事件与标签
在凭证信息下方,有三组事件可供你从 Adapty 发送到 Amplitude。直接开启你需要的事件即可。点击此处查看 Adapty 提供的完整事件列表。
我们建议使用 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_key | String | 您的 Amplitude API Key。 |
events | Array | 事件对象列表(Adapty 每次发送一个)。 |
events[].partner_id | String | 固定值为 “adapty”。 |
events[].event_type | String | 事件名称(由 Adapty 事件映射而来)。 |
events[].time | Long | 事件时间戳,单位为毫秒。 |
events[].insert_id | String | 唯一事件 ID(UUID)。 |
events[].user_id | String | Amplitude User ID 或 Customer User ID。 |
events[].device_id | String | Amplitude Device ID。 |
events[].platform | String | 平台(如 “iOS”、“Android”)。 |
events[].os_name | String | 操作系统名称。 |
events[].productId | String | 商店中的产品 ID。 |
events[].revenue | Float | 收入金额。 |
events[].event_properties | Object | 详细事件属性(包含所有可用的事件字段)。 |
events[].user_properties | Object | 用户属性,如订阅状态。 |