2012-09-18 113 views
0

我在Android上測試應用內結算。我能夠購買被管理的產品,並從服務器獲得預期的響應。但是,當我嘗試重新購買來自同一設備的被管理產品時,我沒有從Google Play獲得任何回覆。

當再次購買時,我會看到標題爲「已購買的商品」的彈出式消息,但是沒有任何迴應。但令人驚奇的是,我早已得到響應。即使我試圖重新購買同一產品設備。任何人都可以幫我解決這個問題嗎?
還有什麼辦法來檢查產品是否已經購買或沒有?

代碼:當我試圖重新買In App Purchase Android:購買已購買產品時Google Play沒有迴應

@Override 
public void onPurchaseStateChange(PurchaseState purchaseState, 
           String itemId, int quantity, long purchaseTime, 
           String developerPayload) {} 

onPurchaseStateChange()函數沒有被調用。
只有從google play獲得了RESULT_ERROR對onRequestPurchaseResponse()的迴應。但是我可以在第一次購買產品並獲得PurchaseState.PURCHASED狀態。在重新購買的情況下,不會返回任何狀態。這是由於與Google Play相關的服務器錯誤?

回答

1

你不應該重新購買託管物品。如果您想多次使用非託管物品進行銷售。

RESULT_ERROR在嘗試重新購買您已經擁有的東西似乎是合理的。如果沒有購買發生,您不會要求購買狀態更改消息。

你確定你沒有改變你使用的項目從非託管到託管嗎?或者,也許您正在使用測試產品,現在您正在使用實際產品? (您可以反覆購買android.test.purchased)

您的應用應該跟蹤已購買的商品,以便您可以將託管商品標記爲已購買,以防止用戶嘗試重新購買它們(以及他們知道他們已經購買了他們)。

您需要檢查用戶是否已擁有任何託管項目的唯一時間是重新安裝應用程序。在這種情況下,您會進行還原交易呼叫並更新已購買內容的應用程序本地記錄。