2012-12-15 60 views
13

我想要什麼? 在檢索所有購買的商品後,我需要驗證我的服務器上的購買情況,我想要處理從應用內付款中收到的簽名和簽名數據。Android結算v3 - 無簽名

首先,我使用了應用程序內結算v2,每次都使用我的開發人員帳戶獲得靜態測試sku android.test.purchased的正確簽名和簽名。

我切換到新的結算v3,因爲它看起來非常好實施,但我沒有得到任何簽名。

我已經將我以前版本的APK上傳到Google(因爲尚未完成,所以未發佈),還添加了用於進一步測試的活動應用內產品。

APK的上傳時間是昨天晚上10點,所以我覺得我也等了。

我試過了嗎? 我已經安裝了不同版本的應用程序:

    添加
  • 與我的自我APK未簽名「活動」的應用內商品=>沒有簽名
  • APK未簽名與SKU android.test.purchased =>沒有簽名
  • 簽署
  • 添加APK我自己 「主動」 的應用內商品=>沒有簽名
  • 簽署APK與SKU android.test.purchased =>沒有簽名

這4個「AP p狀態「我嘗試了我的開發者手機(我的主要Google帳戶與開發者控制檯帳戶的用戶位置相同),並在另一部手機上設置了測試帳戶,測試帳戶也放在我的帳戶設置下的」測試帳戶「 。

嗯,現在我沒有更多的想法如何讓我的簽名。 我想我會得到一個積極的應用程序+積極的應用程序產品的簽名,因爲付款過程的作品(adb logcat顯示我購買了「Android.test.purchased」) 我自己創建的應用程序內產品我可以也沒有測試,因爲如果我使用我的開發者帳戶,Play商店告訴我「不能購買,已經擁有」,並且使用我的測試帳戶,我收到錯誤「此產品不適用於您的帳戶」。

你有解決我的問題的方法嗎?

+0

@ lunarnet76,數據是什麼,非常簡單。signdata是谷歌發送回您的帳戶的數據,數據告訴您有關購買狀態,並且簽名可以與您的公共應用密鑰一起使用,以驗證signdata未被操縱,並且谷歌已將其發送至 – prdatur

+0

prdarur。我遇到同樣的問題,您是否找到解決方案? – melodiouscode

+0

不是現在,但通過閱讀其他帖子說,「谷歌的depricated說只有你不應該使用它,但它不會被刪除」我決定留在V2,因爲我的執行情況按預期工作。但我不停止尋找與V3的解決方案。因爲我通過我的服務器V2驗證付款,所以讓我在不提供應用程序內的公鑰的情況下執行此操作,這是非常好的,我只在我的服務器上有公鑰驗證。有了V3我認爲這也是不可能的。 – prdatur

回答

2

我在V3中發現測試產品不會返回任何簽名數據,但是如果您使用發佈密鑰簽署應用並完成實際產品的購買流程,那麼您將獲得簽名數據。

+0

看到我的「測試」 - >簽名的apk與我自己添加的「活躍」應用內商品=>沒有簽名 – prdatur

1

您不再獲取測試購買簽名(android.test。*)。我利用我的真實產品進行了潛水並將我的應用程序上傳到市場(只是沒有發佈它)。

低,看到簽名開始返回!我建議修改您使用的任何服務器端驗證,以便在數據包含android.test。*項目ID時跳過簽名檢查。

注:關於上述的重要一點是:「使用我的真實產品」。

+0

你好,但看到我的測試爲「簽名的apk與我自己添加」活躍「簽名「我也添加了一個」真正的「產品,它並沒有給我一個標誌性的乙醚。 – prdatur

+0

嗨,我只能說它是在爲我工作。很明顯,我正在使用一個已註冊爲該應用程序開發人員的帳戶。唯一的區別是我可以想到的是,該應用程序是一個已發佈的應用程序,只是有問題的apk文件處於未發佈狀態(下一版本)。 – melodiouscode

+0

我認爲這是問題。一個未發佈的應用程序(從未發佈)不會得到簽名,它已經發布了一段時間。應用內功能不需要當前發佈,但應用程序本身。但是,這種行爲對我來說是不行的,必須有可能從未發佈的應用程序獲取簽名。 – prdatur