2011-08-15 68 views
3

我在嘗試瞭解Android的應用內結算文檔,特別是IN_APP_NOTIFIY響應。展望at the reference,它的內容如下Android電子市場應用內結算IN_APP_NOTIFY響應

com.android.vending.billing.IN_APP_NOTIFY

此響應表明購買狀態發生了改變,這意味着收購成功了,被取消了,或者是退還。 此響應包含一個或多個通知ID。每個通知ID對應於特定的服務器端消息,每個消息都包含有關一個或多個事務的信息。在您的應用程序收到IN_APP_NOTIFY廣播意圖後,您將發送帶有通知ID的GET_PURCHASE_INFORMATION請求以檢索消息詳細信息。示例應用程序將此廣播意圖分配給名爲ACTION_NOTIFY的常量。

附加

notification_id- 的String表示對於給定的購買狀態改變通知的ID。購買狀態發生變化時,Android電子市場會通知您,並且通知中包含唯一的通知ID。要獲取購買狀態更改的詳細信息,請使用GET_PURCHASE_INFORMATION請求發送通知ID。

當響應只是一個字符串時,如何獲得多個通知ID?我如何照顧多個通知案例?

回答

2

看來谷歌文檔確實是錯誤的。也許撰寫摘錄的人會對以下事實感到困惑:即使您的應用程序發送了CONFIRM_NOTIFICATIONS消息,Google Play也可能會發送重複的IN_APP_NOTIFY意圖,導致PURCHASE_STATE_CHANGED消息。可以在這裏閱讀: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)」部分中顯示了該類型的請求在doc中:http://developer.android.com/guide/google/play/billing/billing_integrate.html