Android - inapp-billing-v3库消耗产品无法正常工作

时间:2017-02-18 14:24:16

标签: android google-play in-app-purchase in-app-billing

我正在尝试使用库inapp-billing-v3在我的应用中开发一些应用内购买。我有两种类型:

删除广告=非消费品

收到硬币=消耗品

根据我的代码,我可以购买"非消耗品"但是,没有问题的产品,"消耗品根本不起作用。点击时没有任何反应,在应用程序窗口中没有打开。我得到:

  

D / ViewRootImpl:ViewPostImeInputStage processPointer 0

     

D / ViewRootImpl:ViewPostImeInputStage processPointer 1

为什么会这样?如何使用此库正确实施耗材购买?

我的应用正在进行beta测试

//TODO Ads Click
        btn_ads.setOnClickListener(new View.OnClickListener() {
            // Start new list activity
            public void onClick(View v) {             

                UtilityClass.delayFast(700, new UtilityClass.DelayCallback() {
                    @Override
                    public void afterDelay() {

                        bp.purchase(ShopActivity.this, getString(R.string.remove_adverts)); //working
                    }
                });
            }
        });

        //TODO shop1 Click
        btn_shop1.setOnClickListener(new View.OnClickListener() {
            // Start new list activity
            public void onClick(View v) {

                UtilityClass.delayFast(700, new UtilityClass.DelayCallback() {
                    @Override
                    public void afterDelay() {
                        bp.consumePurchase(getString(R.string.coins_300));// not working
                    }
                });
            }
        });

2 个答案:

答案 0 :(得分:0)

在AppBillingService类中消费购买有三个参数,如:consumePurchase(int apiVersion,java.lang.String packageName,java.lang.String purchaseToken),你只提供一个参数,所以你可以在consumePurchase方法中显示你做了什么

答案 1 :(得分:0)

您必须先购买然后消费。

       bp.purchase(ShopActivity.this, getString(R.string.coins_300));
       bp.consumePurchase(getString(R.string.coins_300));