消息服务集成
在竞争日益激烈的移动市场中,获客既不容易也成本不低。因此,善加维护已有用户能有效改善你的单位经济效益,在竞争高度激烈的细分领域尤为如此。 Adapty 提供用户核心支付行为的实时信息。无论是用户开始试用、遇到支付问题,还是购买订阅后决定取消,我们都能第一时间掌握。这些事件都反映了用户状态的变化——这正是最佳的触达时机:发送专属优惠、个性化礼品,或任何其他留存手段。 推送通知平台支持使用标准标签和自定义标签来描述用户,从而构建高效的自动化用户留存体系。要让这套系统正常运作,只需要触发事件来通知平台何时该发送消息。这些事件将通过已配置的集成从 Adapty 发送到推送平台。
请选择您需要集成的服务并按照相应说明操作:
没有找到您的归因服务商? 请告诉我们!提交功能请求,我们会认真考虑。
事件属性
Webhook 事件以 JSON 格式发送。所有事件遵循相同的结构,但字段内容会根据事件类型、商店以及你的具体配置有所不同。
| 属性 | 类型 | 描述 |
|---|---|---|
| profile_id | uuid | Adapty 用户 ID。 |
| currency | str | 本地货币(默认为 USD)。 |
| price_usd | float | 扣除 Apple/Google 佣金前的产品价格,即收入。 |
| proceeds_usd | float | 扣除 Apple/Google 佣金后的产品价格,即净收入。 |
| net_revenue_usd | float | 净收入(扣除 Apple/Google 佣金及税费后的收入),以 USD 计。可能为空。 |
| price_local | float | 扣除 Apple/Google 佣金前的产品本地货币价格,即收入。 |
| proceeds_local | float | 扣除 Apple/Google 佣金后的产品本地货币价格,即净收入。 |
| transaction_id | str | 交易(如购买或续订)的唯一标识符。 |
| original_transaction_id | str | 原始购买的交易标识符。 |
| purchase_date | ISO 8601 date | 产品购买的日期和时间。 |
| original_purchase_date | ISO 8601 date | 原始购买的日期和时间。 |
| environment | str | 可为 Sandbox 或 Production。 |
| vendor_product_id | str | Apple App Store、Google Play Store 或 Stripe 中的产品 ID。 |
| base_plan_id | str | Google Play Store 中的基础方案 ID 或 Stripe 中的价格 ID。 |
| event_datetime | ISO 8601 date | 事件发生的日期和时间。 |
| store | str | 可为 app_store 或 play_store。 |
| trial_duration | str | 试用期时长(天数),格式为” days”,例如”7 days”。 |
| cancellation_reason | str | 用户取消订阅的原因。 可为 iOS & Android voluntarily_cancelled、billing_error、refund iOS price_increase、product_was_not_available、unknown Android new_subscription_replace、cancelled_by_developer |
| subscription_expires_at | ISO 8601 date | 订阅的到期日期,通常为未来时间。 |
| consecutive_payments | int | 用户连续订阅的周期数(不含中断),包含当前周期。 |
| rate_after_first_year | bool | 布尔值,表示该订阅在连续续订满一年后是否符合享受较低佣金率(通常为 15%)的条件。佣金率因项目资格和国家/地区而异。详见商店佣金与税费。 |
| promotional_offer_id | str | 促销活动 ID,如 Adapty 看板产品部分所示。 |
| store_offer_category | str | 可为 introductory 或 promotional。 |
| store_offer_discount_type | str | 可为 free_trial、pay_as_you_go 或 pay_up_front。 |
| paywall_name | str | 交易来源付费墙的名称。 |
| paywall_revision | int | 交易来源付费墙的版本号,值为 1。 |
| developer_id | str | 交易来源版位的开发者(SDK)ID。 |
| ab_test_name | str | 交易来源 A/B 测试的名称。 |
| ab_test_revision | int | 交易来源 A/B 测试的版本号,值为 1。 |
| cohort_name | str | 该用户画像所属目标受众的名称。 |
| profile_event_id | uuid | 可用于去重的唯一事件 ID。 |
| store_country | str | 商店向我们提供的国家/地区信息。 |
| profile_ip_address | str | 用户画像的 IP 地址(可为 IPv4 或 IPv6,优先使用 IPv4)。每次设备 IP 变更时更新。 |
| profile_country | str | 由 Adapty 根据用户画像 IP 地址确定。 |
| profile_total_revenue_usd | float | 该用户画像的总收入,包含退款。 |
| variation_id | uuid | 完成购买的付费墙唯一 ID。 |
| access_level_id | str | 付费访问等级 ID。 |
| is_active | bool | 布尔值,表示该用户画像的付费访问等级当前是否有效。 |
| will_renew | bool | 布尔值,表示付费访问等级是否将续订。 |
| is_refund | bool | 布尔值,表示该交易是否已退款。 |
| is_lifetime | bool | 布尔值,表示付费访问等级是否为永久授权。 |
| is_in_grace_period | bool | 布尔值,表示该用户画像是否处于宽限期。 |
| starts_at | ISO 8601 date | 用户付费访问等级的开始日期和时间。 |
| renewed_at | ISO 8601 date | 付费访问将续订的日期和时间。 |
| expires_at | ISO 8601 date | 付费访问将到期的日期和时间。 |
| activated_at | ISO 8601 date | 付费访问激活的日期和时间。 |
| billing_issue_detected_at | ISO 8601 date | 检测到计费问题的日期和时间。 |
| profile_has_access_level | Bool | 布尔值,表示该用户画像是否拥有有效的访问等级(仅限 Webhook)。 |
| 每个事件都包含以下属性: |
transaction_id, original_transaction_id, purchase_date, original_purchase_date, environment, vendor_product_id, event_datetime, store。
此外,部分事件还有额外属性。对于 subscription_refunded 和 non_subscription_purchase_refunded 事件,必须提供 price_usd 和 proceeds_usd 作为额外属性。
| 事件名称 | 属性 |
|---|---|
| subscription_initial_purchase | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_renewed | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| subscription_cancelled | cancellation_reason, trial_duration |
| trial_started | subscription_expires_at, trial_duration |
| trial_converted | price_usd, proceeds_usd, subscription_expires_at, consecutive_payments, rate_after_first_year, trial_duration |
| trial_cancelled | cancellation_reason, trial_duration |
| non_subscription_purchase | price_usd, proceeds_usd |
| billing_issue_detected | subscription_expires_at, trial_duration |
| entered_grace_period | subscription_expires_at, trial_duration |
| 事件示例 |
{
"price_usd": 9.99,
"proceeds_usd": 6.99,
"transaction_id": "1000000628581600",
"original_transaction_id": "1000000628581600",
"purchase_date": "2020-02-18T18:40:22.000000+0000",
"original_purchase_date": "2020-02-18T18:40:22.000000+0000",
"environment": "Sandbox",
"vendor_product_id": "premium",
"event_datetime": "2020-02-18T18:40:22.000000+0000",
"store": "app_store"
}
Adapty 会将事件发送到您的服务器和第三方分析系统。 profile_ip_address 属性与当前设备 IP 同步。每次 Adapty 服务器从 SDK 接收到信息时,如果 IP 与记录中的不同,则会自动更新。