[英]Signature verification failed - Android in-app purchase
我已經在Android應用程序上實現了應用程序計費,雖然它可以正常使用測試常量,但卻打破了真正的產品。
我已將該應用程序上傳為Google Play上的草稿,創建並發布了產品,在設備上安裝了完全相同的應用程序(包括正確的base64EncodedPublicKey)並使用了正確的測試帳戶(設備上的主要帳戶和我設置的帳戶)在我的開發者帳戶上)
流程是我上Google Play活動,在那里我可以看到產品及其詳細信息,我按下購買,介紹測試帳戶密碼,它退出活動,收到祝賀消息和
產品簽名驗證失敗(響應:-1003:購買簽名驗證失敗)
該項目實際上是購買的(它出現在Google Checkout上,並在第二次購買嘗試時顯示“項目已經擁有”)。 此外,我只使用了谷歌的TriviaDrive示例代碼。
任何建議都非常有幫助。 謝謝!
在In App Billing文檔中,有一個部分稱為啟動您與Google Play的連接 。
它告訴您,您需要一個base64編碼的公鑰來實例化您的IabHelper。 您可以從Google Play開發者控制台獲取此代碼。 登錄控制台,單擊應用程序,然后轉到“服務和API”選項卡。
IabHelper mHelper;
@Override
public void onCreate(Bundle savedInstanceState) {
// ...
String base64EncodedPublicKey;
// compute your public key and store it in base64EncodedPublicKey
mHelper = new IabHelper(this, base64EncodedPublicKey);
}
請考慮文檔中建議的安全建議:
安全建議:強烈建議您不要對Google Play提供的確切公共許可證密鑰字符串值進行硬編碼。 相反,您可以在運行時從子字符串構造整個公共許可證密鑰字符串,或者在將其傳遞給構造函數之前從加密存儲中檢索它。 這種方法使惡意第三方更難以修改APK文件中的公共許可證密鑰字符串。
此錯誤可能出現在IAB v3中的另一個原因是,如果您在一台設備上購買產品(例如訂閱),並且購買信息無法完全進入另一台設備上Play商店應用的緩存中。
我有一個可怕的時期,在購買Kitkat手機訂閱后,另一部手機(姜餅)得到這個-1003錯誤。 我追溯到這樣一個事實:getpurchases()方法只返回帶有(正確)列表購買的INAPP_PURCHASE_ITEM_LIST。 INAPP_PURCHASE_DATA_LIST和INAPP_DATA_SIGNATURE_LIST作為null返回。 (即使我可以在Play應用程序中看到訂閱。)
簽名為null,因此當然會出現簽名驗證錯誤。 在經歷了很多令人頭疼/恐慌之后,為什么它不起作用,突然它沒有我做任何事情。 我認為Google Services / Play應用程序最終刷新緩存並自行更新。
考慮到這一點,我認為解決方案可能只是將整個購買信息傳播到播放服務,然后將該錯誤靜音.... w / iabhelper它是這樣的:
if (result.getResponse() != IabHelper.IABHELPER_VERIFICATION_FAILED)
complain("Failed to query inventory: " + result);
Log.d(TAG, "Query inventory was NOT successful.");
這似乎是一個相當大的錯誤 - Play商店應該等到它知道購買的所有內容,然后再將其傳遞給應用程序,我想。 我不知道這個問題是否在購買流程的其他方面表現出來,但是你可以去。
我的訂閱存在此問題,因為我沒有設置“itemType”
mHelper.launchPurchaseFlow(this,
SKU_INFINITE_GAS, IabHelper.ITEM_TYPE_SUBS,
RC_REQUEST, mPurchaseFinishedListener, payload);
1>產品簽名驗證失敗(響應:-1003:購買簽名驗證失敗)
此錯誤背后的原因是Base64Encoded不匹配。 從發布者帳戶獲取許可證密鑰,將其復制到某個文本編輯器中刪除任何空格並粘貼它。
2>“項目已擁有”當我們從谷歌獲得應用內購買的OK響應時,我們需要使用應用內商品來通知其已購買和交付。 但如果不知何故,如果你的崩潰或你忘了消費它谷歌將不允許再次購買它,直到你消費它。 在您的方案應用程序中拋出簽名驗證失敗錯誤..這是第二個問題的原因
希望這有幫助
務必使用密鑰以UTF8編碼文件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.