Gdx-Pay 购买支票

Gdx-Pay check for purchases

我已经完成了 IAP 系统的设置,但我不知道如何检查用户是否确实 owns/have 购买了某种产品。 使用 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 中找不到与此等效的方法。

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
        }
    }
}

有一个父方法 getInformation() 未在任何示例中展示。您需要在抽象的 PlatformResolver 中覆盖它,例如

  public Information getInformation(String identifier){
    return mgr.getInformation(identifier);
  }

然后在您的游戏中 class 您需要检查购买是否存在,例如:

   Information info = getPlatformResolver().getInformation(productId);
   String getName = info.getLocalName();
    if(getName == null)
        getPlatformResolver().requestPurchase(productId);