发送给第三方集成的事件
Apple 和 Google 通过 App Store Server Notifications 和 Real-time Developer Notifications (RTDN) 将订阅事件直接发送到服务器。因此,移动应用无法可靠地将事件实时发送到分析系统。例如,如果用户订阅后再未打开应用,开发者在没有服务器的情况下将无法收到任何订阅状态更新。
Adapty 通过收集订阅数据并将其转化为易于理解的事件来弥补这一差距。这些集成事件以 JSON 格式发送。所有事件共享相同的结构,但字段会根据事件类型、商店及具体配置有所不同。您可以在各集成页面上找到每个事件所包含的具体字段。
如需了解如何判断事件是否已成功处理或是否出现问题,请查看事件状态页面。
事件类型
大多数事件会在创建后发送到所有已配置的集成(前提是相应集成已启用)。但 Access level updated 事件仅在配置了 webhook 集成 且该事件已启用时才会触发。该事件会显示在 Event Feed 中,并发送到 webhook,但不会共享给其他集成。
如果未配置 webhook 集成或未启用此事件类型,Access level updated 事件将不会被创建,也不会出现在 Event Feed 中。
| 事件名称 | 描述 |
|---|---|
| subscription_started | 当用户激活没有试用期的付费订阅时触发,即立即扣款。 |
| subscription_renewed | 订阅续费并成功扣款时发生。该事件从第二次计费开始记录,无论是试用订阅还是非试用订阅。 |
| subscription_renewal_cancelled | 用户已关闭订阅自动续费。用户在付费订阅周期结束前仍可使用高级功能。 |
| subscription_renewal_reactivated | 当用户重新激活订阅自动续费时触发。 |
| subscription_expired | 当订阅取消后完全到期时触发。例如,用户在12月12日取消订阅,但订阅在12月31日到期,则该事件在12月31日记录。 |
| subscription_paused | 当用户激活订阅暂停时发生(仅限 Android)。 |
| subscription_deferred | 当订阅购买被延期时触发,允许用户延迟付款同时保留对高级功能的访问权限。此功能通过 Google Play Developer API 提供,可用于免费试用或帮助面临经济困难的用户。 |
| non_subscription_purchase | 任何非订阅购买,例如永久授权或消耗型商品(如游戏内货币)。 |
| trial_started | 当用户激活试用订阅时触发。 |
| trial_converted | 当试用期结束并成功向用户扣款(首次购买)时发生。例如,用户的试用期至1月14日,但在1月7日被扣款,则该事件在1月7日记录。 |
| trial_renewal_cancelled | 用户在试用期间关闭了订阅自动续费。用户在试用期结束前仍可使用高级功能,但不会被扣款或开始订阅。 |
| trial_renewal_reactivated | 当用户在试用期间重新激活订阅自动续费时发生。 |
| trial_expired | 当试用期结束且未转化为订阅时触发。 |
| entered_grace_period | 当付款尝试失败且用户进入宽限期(如已启用)时发生。用户在此期间保留高级访问权限。 |
| billing_issue_detected | 当扣款尝试中出现账单问题时触发(例如,卡余额不足)。 |
| subscription_refunded | 当订阅被退款时触发(例如,由 Apple 客服处理)。 |
| non_subscription_purchase_refunded | 当非订阅购买被退款时触发。 |
| access_level_updated | 当用户的访问等级更新时发生。 |
上述事件完整涵盖了用户的购买状态。下面来看一些示例。
示例 1
用户于 4 月 1 日激活了一个包含 7 天试用期的月度订阅。第 4 天,他取消了订阅。
在这种情况下,将发送以下事件:
- 4 月 1 日发送
trial_started - 4 月 4 日发送
trial_renewal_cancelled - 4 月 7 日发送
trial_expired
示例 2
用户于 4 月 1 日激活了一个包含 7 天试用期的月度订阅。第 10 天,他取消了订阅。
在这种情况下,将发送以下事件:
- 4 月 1 日发送
trial_started - 4 月 7 日发送
trial_converted - 4 月 10 日发送
subscription_renewal_cancelled - 5 月 1 日发送
subscription_expired
有关每种场景下触发哪些事件的详细说明,请查看事件流程。