发送给第三方集成的事件
Apple 和 Google 通过 App Store Server Notifications 和实时开发者通知 (RTDN) 直接将订阅事件发送到服务器。因此,移动应用无法实时可靠地将事件发送到分析系统。例如,如果用户订阅后从未重新打开应用,开发者在没有服务器的情况下将无法收到任何订阅状态更新。
Adapty 通过收集订阅数据并将其转化为可读事件来弥补这一不足。这些集成事件以 JSON 格式发送。虽然所有事件共享相同的结构,但其字段会根据事件类型、商店及具体配置而有所不同。您可以在相应的集成页面上找到每个事件中包含的确切字段。
要了解如何判断事件是否已成功处理或是否出现了问题,请查看事件状态页面。
事件类型
大多数事件会在已启用的情况下创建并发送到所有已配置的集成。但是,Access level updated 事件仅在Webhook 集成已配置且该事件已启用时才会触发。该事件将显示在事件动态中,也会发送到 Webhook,但不会与其他集成共享。
如果未配置 Webhook 集成或未启用此事件类型,Access level updated 事件将不会被创建,也不会出现在事件动态中。
| 事件名称 | 描述 |
|---|---|
| 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 Support 处理)。 |
| 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
有关每种场景下触发哪些事件的详细说明,请查看事件流程。