使用com.android.billingclient.api使用开发人员有效负载进行订阅购买

时间:2019-03-12 13:44:54

标签: play-billing-library

我正在从https://github.com/serso/android-checkout lib迁移到com.android.billingclient.api,通过使用Checkout API,我可以通过提供开发有效负载作为参数来开始购买流程。如下所示

    /**
     * @see #startPurchaseFlow(String, String, String, RequestListener)
     */
    public void startPurchaseFlow(Sku sku, @Nullable String payload, RequestListener<Purchase> listener) {
        startPurchaseFlow(sku, payload, null, listener);
    }

稍后,我将能够在获取购买历史记录的同时检索相同的开发人员有效负载。

现在使用com.android.billingclient.api,我可以提供开发人员有效负载,并查看com.android.billingclient.api类的 BillingClientImpl 中的代码有效载荷只是提供为空值

futureBuyIntentBundle =
          executeAsync(
              new Callable<Bundle>() {
                @Override
                public Bundle call() throws Exception {
                  return mService.getBuyIntent(
                      /* apiVersion */ 3,
                      mApplicationContext.getPackageName(),
                      newSku,
                      skuType,
                      /* developerPayload */ null);
                }
              });

我想知道这是一个错误,还是存在另一种在购买记录中存储开发人员有效负载的方法。

1 个答案:

答案 0 :(得分:1)

您是对的。 Play Billing Library在先前的2.0版本中不支持开发人员有效负载。参见https://issuetracker.google.com/issues/69079764

从2.0开始,将其添加回去,但移至使用/确认阶段: https://developer.android.com/google/play/billing/billing_library_releases_notes#2_0_payload