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();

如果您在此库中使用 fragment,则有所不同,onActivityResultFragment 中没有为此调用,您可以使用不同的方法

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

最新更新