发送至第三方集成的事件
Apple 和 Google 通过 App Store 服务器通知和实时开发者通知直接向 Adapty 服务器报告订阅事件。这样你就能了解到用户是否完成了转化、续订或流失。
要将这些事件转发出去,需要在 Adapty 中配置目标平台。第三方平台(MMP、分析工具、消息推送等)各有其专属的集成页面。如需将事件发送到自有后端,请通过 webhook 接收。
所有事件共用同一结构,但具体字段因事件类型、商店及配置不同而有所差异。Webhook 事件类型与字段介绍了 webhook 负载的内容,各集成文章则说明了对应目标平台所接收的格式。事件状态介绍了如何查看投递状态。
示例
大多数事件会跟踪用户的购买行为,从首次扣费到订阅到期。
用户在试用期内取消订阅
用户于 4 月 1 日激活了一个包含 7 天试用期的月度订阅,并在第 4 天取消了订阅。
在这种情况下,将发送以下事件:
trial_started:4 月 1 日trial_renewal_cancelled:4 月 4 日trial_expired:4 月 7 日
用户在转化后取消订阅
用户于 4 月 1 日激活了一个附带 7 天试用期的月度订阅,并在第 10 天取消了订阅。
在这种情况下,将发送以下事件:
- 4 月 1 日发送
trial_started - 4 月 7 日发送
trial_converted - 4 月 10 日发送
subscription_renewal_cancelled - 5 月 1 日发送
subscription_expired
若想了解各场景下会触发哪些事件的详细说明,请查阅事件流程。
事件列表
你可以控制每个集成接收哪些事件。大多数事件适用于所有集成,但以下三个事件除外:
- Access level updated 仅在已配置 webhook 集成 且启用该事件的情况下才会触发。它会显示在 Event Feed 中并发送到 webhook,但其他集成不会收到该事件。如果未配置 webhook 集成或未启用该事件类型,Adapty 将不会创建该事件,它也不会出现在 Event Feed 中。
- Trial still active 和 Subscription still active 属于合成事件,只有部分集成能收到这些事件。
以下表格列出了 Adapty 可以发送到第三方集成的所有事件:
| 事件名称 | 描述 |
|---|---|
| subscription_started | 当用户激活无试用期的付费订阅时触发,即立即扣款。 |
| subscription_active | 在 subscription_started 事件触发后,确认订阅仍处于有效状态。您需要设置从订阅开始到本次检查之间的天数。如果订阅仍然有效,则会收到该事件,即使自动续订已被取消,或用户已进入宽限期。如果届时订阅已结束,则不会收到任何事件,且 Adapty 不会再次检查。此事件仅跟随无试用期购买的订阅。通过试用期转化的订阅会发送 trial_converted,不会触发本检查。 |
| subscription_renewed | 当订阅续订并向用户扣款时触发。无论是试用期还是非试用期订阅,此事件从第二次扣款开始计算。 |
| subscription_renewal_cancelled | 用户已关闭订阅自动续订。用户在付费订阅期结束前仍可使用高级功能。 |
| subscription_renewal_reactivated | 当用户重新激活订阅自动续订时触发。 |
| subscription_expired | 当订阅在取消后完全结束时触发。例如,如果用户在 12 月 12 日取消订阅,但订阅在 12 月 31 日仍然有效,则该事件将在 12 月 31 日订阅到期时记录。 |
| subscription_paused | 当用户激活订阅暂停时触发(仅限 Android)。 |
| subscription_deferred | 当订阅购买被延期时触发,允许用户在保留高级功能访问权限的同时推迟付款。此功能通过 Google Play 开发者 API 提供,可用于免费试用或为面临经济困难的用户提供帮助。 |
| non_subscription_purchase | 任何非订阅购买,例如永久授权或消耗型商品(如游戏内货币)。 |
| trial_started | 当用户激活试用订阅时触发。 |
| trial_active | 在 trial_started 事件触发后,确认试用期仍处于有效状态。您需要设置从试用期开始到本次检查之间的天数。如果试用期仍然有效,则会收到该事件,即使自动续订已被取消。如果届时试用期已结束或已转化,则不会收到任何事件,且 Adapty 不会再次检查。 |
| 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 | 当用户的访问等级更新时触发。 |
合成事件
大多数事件由某个变化触发——购买、续订、取消。Trial still active 和 Subscription still active 事件则恰恰相反。你设置一个计时器,计时器到期后,Adapty 会检查试用或订阅的状态。如果试用或订阅尚未结束,Adapty 就会触发对应的事件。
这些合成事件仅适用于 AppsFlyer、Adjust、Singular、Branch 以及 webhook,需要手动开启。
Adapty Attribution 为 Meta 和 TikTok 广告系列提供了类似功能:合格试用 会将试用事件延迟 1 至 24 小时发送,仅在用户未关闭自动续订时才发送。trial_active 则等待 1 至 90 天,无论用户是否关闭自动续订都会发送该事件。两者在不同的位置进行配置,互不影响。
试用期仍在进行中
- 集成:AppsFlyer
- 事件:试用期仍处于活跃状态
- 延迟:3 天
- 试用开始:4 月 1 日
- 试用结束:4 月 7 日
AppsFlyer 接收到:
trial_started:4 月 1 日trial_active:4 月 4 日trial_converted:4 月 7 日
请注意以下几点:
- 由于这是一次已转化的试用,您将永远不会收到
subscription_active事件。 - 如果延迟设置为 7 天,
trial_active将永远不会到达。到那时,用户已经完成了转化。
订阅仍在运行
- 集成方式:Webhook
- 事件:订阅仍处于活跃状态
- 延迟:7 天
- 订阅开始:4 月 1 日,无试用期
- 续订:5 月 1 日
Webhook 收到以下事件:
subscription_started:4 月 1 日subscription_active:4 月 8 日subscription_renewed:5 月 1 日
- 订阅必须在没有试用期的情况下开始。已转换的试用期会发送
trial_converted,不会启动计时器。 - 如果用户在 4 月 3 日关闭了自动续订,您仍会在 4 月 8 日收到
subscription_active。订阅尚未结束。 - 5 月的续订不会启动第二个计时器。每个订阅只会收到一次
subscription_active。