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 文档。测试时先使用沙盒密钥,测试成功后再切换为生产环境密钥。
-
可选的进一步自定义设置:
参数 描述 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,此设置定义以下行为:- 开启:在
amplitudeUserId或customer_user_id均不可用时,发送 Adapty 的profile_id。 - 关闭:如果两个 ID 均不可用,则
user_id留空。
- 开启:在
-
选择您希望接收的事件,并映射其名称。
-
点击 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"
}
}
]
}
其中:
| 参数 | 类型 | 描述 |
|---|---|---|
api_key | String | 您的 Amplitude API 密钥。 |
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 用户 ID 或客户用户 ID。 |
events[].device_id | String | Amplitude 设备 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 | 用户属性,例如订阅状态。 |