我已经完成了IAP系统的设置,但我无法弄清楚如何检查用户是否实际拥有/购买了某种产品。 使用Google IAP Billing for android我只是做了:
Purchase ITEM_1 = inventory.getPurchase(ITEM_1);
if(ITEM_1 != null && verifyDeveloperPayload(ITEM_1)){
//Give user the product
ITEM_1_BOUGHT = true;
}
我无法在Gdx-Pay中找到相同的方法。
答案 0 :(得分:3)
PurchaseObserver
有一个名为handleRestore(Transaction[] transactions)
您可以遍历交易:
@Override
public void handleRestore(Transaction[] transactions) {
for (int i = 0; i < transactions.length; i++) {
// do something with all bought products.
if (transactions[i].getIdentifier().equals("YOUR_PRODUCT_IDENTIFIER")) {
// do something with a certain product
}
}
}
答案 1 :(得分:3)
有一个父方法getInformation(),它没有在任何例子中展示过。您需要在抽象的PlatformResolver中覆盖它,如
public Information getInformation(String identifier){
return mgr.getInformation(identifier);
}
然后在您的游戏课程中,您需要检查购买是否存在:
Information info = getPlatformResolver().getInformation(productId);
String getName = info.getLocalName();
if(getName == null)
getPlatformResolver().requestPurchase(productId);