实时开发者通知(RTDN)
Aptoide Connect 的实时开发者通知(RTDN)允许开发者接收有关订阅型商品购买相关特定事件的即时更新。它还会通知已作废的购买,这可能会影响消耗型商品和订阅。
借助 RTDN,您可以随时了解客户的购买情况,并对购买的任何变更实时做出响应。
概述
Aptoide Connect 的 RTDN 服务会向开发者发送以下通知类型:
- 一次性商品(消耗型)购买通知:当消耗型商品类型购买成功时发送的通知。
- 订阅购买通知:当订阅的状态发生变化时发送的通知。请查看本节,了解订阅生命周期的各种状态。
- 已作废购买通知:当购买被作废时发送的通知。
这些通知提供有关事件的关键详情,使您能够更新记录或采取必要的操作。
借助此功能,您可以从以下旨在提升用户体验的方面改进您的应用:
-
即时更新:实时通知可在订阅变更(例如续订或取消)发生时立即通知用户。
-
增强信任:凭借最新的订阅信息,用户可以信赖服务提供准确的账单和订阅状态,从而增强对平台的信心。
-
无缝的用户体验:最新的后端数据可确保用户收到最新的订阅详情,避免混淆或过时的信息。
-
后端同步:对于开发者而言,保持后端为最新状态可确保通过 RTDN 进行准确、及时的数据传递,防止订阅管理中出现延迟或不一致等问题。
设置 RTDN API
要开始接收 RTDN,开发者必须注册一个回调 URL。此 URL 是 Aptoide Connect 服务发送事件的目标地址。
1. 注册您的回调 URL
要注册用于 RTDN 的回调 URL,请访问 Aptoide Connect 中的 Webhooks 页面。

图 1 - 用于注册 RTDN URL 的 Webhooks 页面
进入此页面后,您可以使用 Add 按钮添加新的 URL,并可以选择您希望接收的通知类型。
RTDN 可接收的商品类型有 2 种:
- Subscriptions:此选项将触发 Aptoide Connect 服务发送与 Subscriptions 类型商品相关的通知。
- InApp:此选项将触发 Aptoide Connect 服务发送与 InApp 类型商品相关的通知。

图 2 - 注册 RTDN URL
2. 管理您的回调 URL
注册用于 RTDN 的 URL 后,您可以使用以下选项对其进行管理:

图 3 - 管理 Webhook
通知载荷
您将收到的通知载荷采用 base64 编码方案编码在 data 参数中。
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyJ2ZXJzaW9uIjogIlN0cmluZyIsICJwYWNrYWdlTmFtZSI6ICJTdHJpbmciLCAiZXZlbnRUaW1lTWlsbGlzIjogIkxvbmciLCAib25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24iOiAiT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24iLCAic3Vic2NyaXB0aW9uTm90aWZpY2F0aW9uIjogIlN1YnNjcmlwdGlvbk5vdGlmaWNhdGlvbiIsICJ2b2lkZWRQdXJjaGFzZU5vdGlmaWNhdGlvbiI6ICJWb2lkZWRQdXJjaGFzZU5vdGlmaWNhdGlvbiJ9",
"messageId": "123456789012"
}
}
解码 data 参数后,您会找到以下 JSON 方案的载荷:
{
"version": String,
"packageName": String,
"eventTimeMillis": Long,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification
}
此载荷中的参数说明如下:
名称 | 类型 | 描述 |
|---|---|---|
version | String | 所收到载荷的版本。 |
packageName | String | 通知所对应应用的包名。 |
eventTimeMillis | Long | 此事件发生的时间戳。 |
oneTimeProductNotification | OneTimeProductNotification (nullable) | 当此参数存在时,表示该通知与消耗型商品购买中的状态变化相关。 |
subscriptionNotification | SubscriptionNotification (nullable) | 当此参数存在时,表示该通知与订阅购买中的状态变化相关。 |
voidedPurchaseNotification | VoidedPurchaseNotification (nullable) | 当此参数存在时,表示该通知与已作废的购买相关。 |
请查看每种通知类型可能生成的载荷。
处理通知
当事件发生时,我们的服务将向已注册的回调 URL 发送一个 HTTP POST 请求,其中包含 JSON 格式的通知载荷。
请实施以下做法以有效处理这些通知:
-
以 200 OK 状态码进行响应:
- 确保您的服务器以
200 OKHTTP 状态码响应通知,以确认接收。 - 在响应正文中包含诸如
"Event received successfully"之类的消息,以确认该事件。
响应示例:
{
"message": "Event received successfully"
} - 确保您的服务器以
处理通知的最佳实践
- 快速响应:以
200 OKHTTP 状态码响应通知端点作为确认。这可确保通知已成功接收。 - 错误处理:如果您的服务器不可用或返回错误,我们的服务将使用指数退避多次重试通知传递。
常见问题
如何测试我的回调 URL?
使用沙盒测试机制进行一次购买,并接收该购买的事件。
如果我的服务器宕机,会发生什么?
如果您的服务器不可用,我们的服务将使用退避算法多次重试发送通知。