我就支持在應用程序內購買,並讓用戶在應用內購買做的大量的Android產品工作,從所有用戶的一些用戶正面臨着「BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED」錯誤和項目返回的響應是7。 我在每次購物獲得獎勵後打電話給消費者,並在開始申請時設置InApp時驗證我的庫存,並檢查是否有任何擁有物品並調用消耗品。 任何建議的解決問題。在應用計費誤差:已經擁有(BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED)
1
A
回答
0
我遇到了同樣的問題,任何機構都有解決方案? 唯一的方法是更改測試帳戶。
1
請參閱here。谷歌表示你必須使用管理的inapp項目。如果你不這樣做,用戶不能購買另一個。購買成功後,使用:
int response = mService.consumePurchase(3, getPackageName(), token);
您在購買數據JSON對象獲得令牌:
final String token = jo.getString("purchaseToken");
但是如果你因爲某些原因沒有消耗購買,你被卡住。
我遇到了同樣的問題,因爲我升級到iap API v3和v2這不是問題。
當你得到這個錯誤時,嘗試消費給定productId的所有購買。或者只是消耗在安裝服務期間購買的所有東西。請注意,您可能希望在consumePurchase()成功返回後實際提供購買,具體取決於應用程序的語義。
呼叫服務後,下面的代碼連接(在onServiceConnected()),當然在後臺執行:
String continuationToken="";
boolean hasMorePurchases=false;
do {
try {
Bundle purchases = mService.getPurchases(3, activity.getPackageName(), "inapp", continuationToken);
int response = purchases.getInt("RESPONSE_CODE");
if (response == 0) {
continuationToken = purchases.getString("INAPP_CONTINUATION_TOKEN");
if(!TextUtils.isEmpty(continuationToken)) hasMorePurchases=true;
final ArrayList<String> purchaseDataList = purchases.getStringArrayList("INAPP_PURCHASE_DATA_LIST");
for(String purchaseJSON : purchaseDataList) {
JSONObject object = new JSONObject(purchaseJSON);
String productId = object.getString("productId");
String orderId = object.getString("orderId");
String purchaseToken = object.getString("purchaseToken");
Log.i(getClass().getSimpleName(),"consuming purchase of " + productId + ", orderId " + orderId);
mService.consumePurchase(3, activity.getPackageName(), purchaseToken);
}
} else {
Log.e(getClass().getSimpleName(), "could not get purchases: " + response);
}
} catch (RemoteException e) {
Log.e(getClass().getSimpleName(), "RemoteException during getPurchases:", e);
} catch (JSONException e) {
Log.e(getClass().getSimpleName(), "JSONException during getSkuDetails:", e);
}
} while(hasMorePurchases);
注意,每次調用getPurchases最大的700名購買返回,所以你需要使用連續令牌獲得更多。
你當然可以使用這個代碼,如果你得到ALREADY_OWNED錯誤代碼,並只爲所涉及的productId。之後,再次嘗試開始購買。
相關問題
- 1. 在應用程序計費版本2中,android已經擁有此項目了嗎?開發者錯誤
- 2. 在Android應用程序中購買:錯誤響應:7項目已經擁有
- 3. Android消費品:「已經擁有該商品」,但inventory.hasPurchase()爲虛假
- 4. android在應用程序購買 - Articel已經擁有的問題
- 5. 「您已經擁有此項目」Google play inapp錯誤
- 6. In App Purchase您已經擁有了此錯誤。
- 7. 應用已經在進行錯誤
- 8. Tweepy谷歌App Engine的計費誤差
- 9. 應用內結算錯誤:無法購買商品,錯誤應對:7:項目已經擁有
- 10. 檢查用戶是否已經擁有PHP和ORACLE的帳戶
- 11. 的Android應用程式內計費誤差:在IAB活動NULL數據導致
- 12. Sonarqube詹金斯積分誤差,沒有分析已經完成
- 13. 「您的帳戶已經擁有有效的證書」錯誤重置後mac
- 14. 錯誤您已擁有這項商品
- 15. IAB錯誤您已擁有此商品
- 16. 購買物品後失敗(已擁有)消費該物品後
- 17. 計算已經在SQL
- 18. 應用程序錯誤計費
- 19. Android應用內計費錯誤InvalidKeySpecException
- 20. 經驗與計費系統
- 21. 擁有在Android應用
- 22. InAppBilling v3 IabResult響應代碼BILLING_RESPONSE_RESULT_ITEM_ALREADY_OWNED
- 23. 擁有非免費應用來展示廣告是否合法?
- 24. 我要顯示一個錯誤,如果員工已經擁有一個帳戶
- 25. Android計費 - 您已經擁有的錯誤項目:運營商結算配置爲空。設備不適用於DCB 2
- 26. 我們如何從Google Play購買已經擁有的物品?
- 27. 該文件已經擁有了「DocumentElement」節點
- 28. SpriteKit:NSInvalidArgumentException - 試圖添加一個已經擁有父代的SKNode
- 29. 測試Android inapp訂閱:您已經擁有此訂閱
- 30. 「你已經擁有這個項目」,但getPurchases是空的