2012-09-02 31 views
0

我folloed本教程的實施應用在我的應用程序: http://blog.blundell-apps.com/simple-inapp-billing-payment/安卓:應用:檢查項目已購買

用戶現在可以在 - 購買我的商品(com.myitem)應用系統。之後,我在共享首選項中設置了該用戶已購買該項目。

問題是如果用戶卸載並重新安裝應用程序。 所以問題是:我如何檢查用戶是否已經購買了該物品?

我知道我應該使用恢復BillingHelper.restoreTransactionInformation(...)上RESTORE_TRANSACTION ...但在哪裏,以及如何?

我查了Dungeon的例子,但它似乎很難和複雜的unterstand。有一個簡單的方法來做到這一點?

謝謝

+0

請參閱[this](http://stackoverflow.com/a/6292728/675383)回答。它提供了一個應用程序內購買的庫。 – nhaarman

+0

我也試過,沒有什麼可以恢復我的交易。 – Soul

+0

呃,它說'restoreTransactions()'就在那裏。 – hpique

回答

1

如果您使用託管購買,使用RESTORE_TRANSACTION是唯一的方法。如果您使用未經授權的購買,您可以將購買狀態存儲在您自己的服務器上,但這並不簡單。關於RESTORE_TRANSACTIONS沒有什麼複雜的:你只需要觸發命令,並且獲得與第一次購買物品時獲得的格式完全相同的交易信息。您應該以完全相同的方式處理它,並且您有可能已經在您的應用中擁有該代碼。測試這個有點難,因爲它不適用於測試帳戶,而且您需要一個實時應用程序。再次訪問官方文檔以瞭解其工作原理。

+0

不幸的是我很難理解如何使用RESTORE_TRANSACTION:它是sendBillingRequest的參數http://developer.android.com/guide/google/play/billing/billing_reference.html#billing-interface? – Soul

+0

您需要再次閱讀指南才能首先了解大圖。在實現方面,如果您使用示例項目或克隆,則只需調用'BillingService.restoreTransactions()'。只要確保您不會過於頻繁地撥打該帳號,或者該帳號將被暫時封鎖。請參閱此處:http://code.google.com/p/marketbilling/source/browse/src/com/example/dungeons/BillingService.java –

相關問題