2011-03-01 46 views
8

我們希望允許我們的用戶使用從Android Market購買的每個應用激活我們的某臺服務器上的服務,驗證用戶是否真的購買了該應用。我可以從應用程序本身獲取購買的Android應用程序的Google Checkout訂單ID嗎?

爲此,我們正在評估使用谷歌Checkout的通知紀錄API,它使我們從我們的服務器查詢Checkout訂單ID的狀態。

現在的問題是,我們不知道如何從應用程序本身獲取Checkout Order Id。

使用新的應用內購買API,我們可以獲取每個應用內購買的Checkout Order Id,但不會購買應用。

回答

5

獲得應用程序購買確認的更好解決方案是使用Market Licensing Verification Service

此庫的目的是讓您的應用程序確認用戶實際上已購買相關應用程序。

爲了從外部服務器檢查交易,您可以使用this blog post的標題下描述的「卸載許可證驗證的可信服務器」的技術。

實質上,它表明您將包含在ResponseData類中的許可證服務器響應副本及其簽名發送到您的在線服務器。您的服務器可以驗證用戶是否已獲得許可。

由於許可證響應加密簽名,您的服務器可以檢查,以確保該許可證響應尚未使用存儲在Android Market發佈商控制檯RSA公鑰篡改。

+1

用答案更新了答案:) – 2011-03-02 10:54:57

+0

謝謝Reto!這個解決方案非常好!開始工作吧! – 2011-03-02 11:19:17

+1

您可能會發現我的庫可信服務器上驗證許可使用PHP http://code.google.com/p/android-market-license-verification/ – 2011-06-29 12:51:37

相關問題