3

我正在尝试了解适用于 Android 的 In-App Billing 文档,特别是 IN_APP_NOTIFIY 响应。查看参考资料,内容如下

com.android.vending.billing.IN_APP_NOTIFY

此响应表示购买已更改状态,这意味着购买成功、已取消或已退款。此响应包含一个或多个通知 ID。每个通知 ID 对应一个特定的服务器端消息,并且每个消息都包含有关一个或多个事务的信息。在您的应用程序接收到 IN_APP_NOTIFY 广播意图后,您发送带有通知 ID 的 GET_PURCHASE_INFORMATION 请求以检索消息详细信息。示例应用程序将此广播意图分配给名为 ACTION_NOTIFY 的常量。

附加功能

notification_id—<strong>一个字符串,表示给定购买状态更改的通知 ID。当购买状态发生变化时,Android Market 会通知您,并且通知中包含一个唯一的通知 ID。要获取购买状态更改的详细信息,请使用 GET_PURCHASE_INFORMATION 请求发送通知 ID。

当响应只是一个字符串时,如何获取多个通知 ID?如何处理多个通知的情况?

4

1 回答 1

2

看来google文档确实是错误的。也许撰写摘录的人对“即使您的应用程序已发送 CONFIRM_NOTIFICATIONS 消息,Google Play 可能会为 PURCHASE_STATE_CHANGED 消息发送重复的 IN_APP_NOTIFY 意图”这一事实感到困惑。可以在这里阅读:http: //developer.android.com/guide/google/play/billing/billing_overview.html#billing-action-notify

这意味着您应该能够处理多个 IN_APP_NOTIFY 意图,但一个 IN_APP_NOTIFY 意图仅包含一个通知 ID。另一种可能性是,编写文档的人对这样一个事实感到困惑,即您可以在发出 GET_PURCHASE_INFORMATION 类型的请求时发送一​​组通知 ID,如“检索购买或退款的交易信息 (GET_PURCHASE_INFORMATION)”部分中所述。在文档中:http: //developer.android.com/guide/google/play/billing/billing_integrate.html

于 2012-08-30T21:23:29.790 回答