在我的游戏中实例化gdx-pay PurchaseManager时遇到问题

时间:2019-06-12 20:34:05

标签: android libgdx gdx-pay

我正在尝试在游戏中设置gdx-pay。我已遵循官方自述文件(https://github.com/libgdx/gdx-pay/),但似乎无法在我的AndroidLauncher中实例化PurchaseManager。

我已经建立了一个处理PurchaseManager安装的类,但是每次我尝试在AndroidLauncher中实例化它时,都会出现此错误:

“ java.lang.RuntimeException:无法启动活动ComponentInfo {appPackage.AndroidLauncher}:java.lang.IllegalArgumentException:必须启用对未决购买的支持。通过在BillingClientBuilder上调用“ enablePendingPurchases()”来启用它。”

自述文件表示要将其添加到AndroidLauncher onCreate game.purchaseManager = new PurchaseManagerGoogleBilling(this); 问题是我必须添加这个 ProjectName.purchaseManager = new PurchaseManagerGoogleBilling(this); 这给了我一个错误,说我必须在我的ProjectName类中使purchaseManager静态 当我这样做时,我得到了上面提到的RuntimeException。
示例gdx-pay项目使用以下代码实例化PurchaseManager

public class AndroidLauncher extends GenericAndroidLauncher {
    @Override
    protected void initFlavor(GdxPayApp game) {
        super.initFlavor(game);
        game.purchaseManager = new PurchaseManagerGoogleBilling(this);
    }
}

当我尝试此操作时,@ Override无效且initFlavor不存在。我尝试在gdx-pay文件中寻找initFlavor,但没有找到任何运气... 感谢您抽出宝贵时间来帮助

1 个答案:

答案 0 :(得分:0)

事实证明,我的Android gradle中的以下行是问题

implementation 'com.android.billingclient:billing:2.0.1'

Gdx-pay自动处理此问题并使用客户端1.1 问题是将billingclient设置为2.0.1。我可以通过删除该行来修复它。非常感谢libGdx不和谐的家伙!