[英]Android in-app purchase failed
我正在嘗試在我的應用程序中實現應用內結算系統,但是由於出現以下錯誤,我無法查詢廣告資源來檢索訂閱:
IabResult: Error refreshing inventory (querying owned items). (response: -1003:Purchase signature verification failed)
我做了什么:
代碼(活動中):
private IabHelper mIabHelper;
// Init setup listener
private IabHelper.OnIabSetupFinishedListener mIabSetupListener = new IabHelper.OnIabSetupFinishedListener() {
@Override
public void onIabSetupFinished(IabResult result) {
if (result.isSuccess()) {
// Load success, now query for inventory
List<String> skus = new ArrayList();
skus.add("packagename.org.dev.subscription.monthly");
skus.add("packagename.org.dev.subscription.yearly");
mIabHelper.queryInventoryAsync(true, skus, mQueryInventoryFinishedListener);
}
}
};
// Listener to load the subscriptions
private IabHelper.QueryInventoryFinishedListener mQueryInventoryFinishedListener = new IabHelper.QueryInventoryFinishedListener() {
@Override
public void onQueryInventoryFinished(IabResult result, Inventory inv) {
if (result.isFailure()) {
Log.e(TAG, "Failure, check error!");
return;
}
}
};
@Override
protected void onCreate(Bundle savedState) {
super.onCreate(savedState);
mIabHelper = new IabHelper(this, PUBLIC_KEY_BASE_64);
mIabHelper.enableDebugLogging(true, "BILLING");
mIabHelper.startSetup(mIabSetupListener);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if (mIabHelper == null || !mIabHelper.handleActivityResult(requestCode, resultCode, data))
super.onActivityResult(requestCode, resultCode, data);
}
@Override
protected void onDestroy() {
super.onDestroy();
if (mIabHelper != null) {
mIabHelper.dispose();
}
}
我在設備上復制了相同的APK(簽名)並安裝了它,但出現上述錯誤。 我還以調試模式運行該應用程序,出現同樣的錯誤。 我不知道該怎么辦。
我在這里(stackoverflow)看到Google API正在緩存某些數據。 我應該恢復出廠設置嗎? 或者如何清除緩存的數據?
如果您的應用程序的基數為64的公共密鑰不正確,則簽名驗證失敗。 確保您使用的是正確的“ PUBLIC_KEY_BASE_64”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.