发送至第三方集成的事件
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 Developer 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 就会触发对应的事件。
这些合成事件适用于 Adjust、Amplitude、AppMetrica、AppsFlyer、Branch、Facebook Analytics、Firebase、Mixpanel、OneSignal、PostHog、Singular、SplitMetrics 以及 webhook,需要手动开启。
如果用户在计时器到期前关闭了自动续订,Adapty 将跳过发送。系统会将该用户视为已流失,即使其访问权限仍持续到付费周期结束。
关闭该事件后,Adapty 将不再启动新的计时器。但已在运行的计时器仍会在到期时发送,因此目标端在您配置的延迟时间内可能持续收到该事件。
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 日关闭了自动续订,即使其访问权限运行到 5 月 1 日,
subscription_active也不会到达。 - 5 月的续订不会启动第二个计时器。每次订阅只会收到一次
subscription_active。