Gdx-Pay检查购买

时间:2015-09-03 11:51:24

标签: ios libgdx in-app-purchase

我已经完成了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中找到相同的方法。

2 个答案:

答案 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);