目前我正在测试我的应用程序的应用程序结算。我试图购买物品和测试签名验证等。当我需要再次购买物品时,问题就出现了:我消费了该物品,但仍然表示当我尝试购买时已拥有该产品,并且现在消费了购买后的一次getPurchases()方法说我没有任何东西。我在这里做错了什么?这是V3 API的错误吗?如果我无法从我的应用中购买消费品,我可以从其他地方消费吗?Android在应用程序结算getPurchases返回空
消费购买:
try {
//Get purchases and consume them all
Bundle b = mac.service.getPurchases(3, package, "inapp", null);
ArrayList<String> datalist = b.getStringArrayList("INAPP_PURCHASE_DATA_LIST");
for(String str : datalist) {
JSONObject jpurchase = new JSONObject(str);
String token = jpurchase.getString("purchaseToken");
mac.service.consumePurchase(3, package, token);
}
} catch (Exception e) {
e.printStackTrace();
}
采购项目:
//Get buy intent and send it
PendingIntent buyIntent = mac.service.getBuyIntent(3, package, purchasepopup.id, //purchasepopup.id = item id
"inapp", "").getParcelable("BUY_INTENT");
if(buyIntent != null) mac.startIntentSenderForResult(buyIntent.getIntentSender(),
1002, new Intent(), 0, 0, 0);
以及如何解决此问题?我现在的位置是getPurchaes'''返回空,但Google说“你已经拥有这个项目”。我该如何解决这个问题? – swalkner
@swalkner我不是100%确定,但我想我必须从应用程序中删除bug,并制作新的。当然,修正代码,以便不可能多次购买物品。 – Hoxy
你是指“从应用程序中删除bug的项目”是什么意思? – swalkner