首页 > 解决方案 > 如果订阅购买成功,Google 在应用计费 v3 视图中

问题描述

我正在使用这个库:https ://github.com/anjlab/android-inapp-billing-v3

购买订阅时,onProductPurchased(String productId, TransactionDetails details)不会调用该方法。

如何查看订阅是否成功?

谢谢

编辑:

这是我的订阅按钮代码:

billingProcessor.subscribe(getActivity(), getString(R.string.str_monthly_sub_id));

这是我的初始化代码:

billingProcessor = new BillingProcessor(context, getString(R.string.gdc_licence_key), this);
        billingProcessor.initialize();

标签: javaandroidin-app-billing

解决方案


如果您为此库使用片段,那么有一些不同的东西,onActivityResult在片段中没有被调用,您可以使用不同的方法

  1. 您将需要覆盖onActivityResult活动中的方法,并在此方法调用super.onActivityResult()中将结果发送到片​​段

    @Override
    protected void onActivityResult(int requestCode, int resultCode, @NullableIntent data) {                           
             super.onActivityResult(requestCode, resultCode, data);
    }
    
  2. 写这个方法是尊重片段的活动

    @Override 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
     Fragment fragmentObj = getSupportFragmentManager().findFragmentById(R.id.yourFragmentId);
     fragmentObj.onActivityResult(requestCode, resultCode, data);
    }
    

然后调用onActivityResult片段!

@Override
protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
    if (resultCode == Activity.RESULT_OK && data != null) {
        if (!mBillingProcessor.handleActivityResult(requestCode, resultCode, data)) {
            super.onActivityResult(requestCode, resultCode, data);
        }
    }
    super.onActivityResult(requestCode, resultCode, data);
}

推荐阅读