android - 在应用计费 v3 中 - 为什么我在调用 queryPurchases(skuID) 时收到 DEVELOPER_ERROR?

标签 android in-app-billing play-billing-library

我实现了应用内计费(订阅)并且一切正常 - 我能够订阅,我确认订阅,并且计费流程成功结束并处于正常状态。

但是,在我的应用程序启动时,我正在检查(从 Google Play 缓存)我是否已经购买 - 我总是得到 DEVELOPER_ERROR。

这是我的代码:

public void checkIfPurchased() {
        billingClient.startConnection(new BillingClientStateListener() {
            @Override
            public void onBillingSetupFinished(BillingResult billingResult) {
                if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
                        Purchase.PurchasesResult alreadyPurchasedResult = billingClient.queryPurchases(SKU_ID);
                        List<Purchase> alreadyPurchased = alreadyPurchasedResult.getPurchasesList();
                        ...
                        // alreadyPurchasedResult = 5 = DEVELOPER_ERROR
                }
            }
    }

为什么会这样?

最佳答案

queryPurchases 方法接受 BillingClient.SkuType.INAPPBillingClient.SkuType.SUBS 作为参数,如 documentation 中所述.

在您的示例中,您似乎输入了订阅产品的 SKU ID。

关于android - 在应用计费 v3 中 - 为什么我在调用 queryPurchases(skuID) 时收到 DEVELOPER_ERROR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65790075/

相关文章:

android - 我在哪里可以学习在 android 中发出 http 请求?

android - 如何在执行 InsertOrReplace 时解决 greenDAO "No such table exists error"?

android - 静态代码中的应用内购买错误

google-play - Google Play 应用内结算版本 3 : crash on "item already owned" and missing failure notifications

android - eclipse 安卓 : Didn't find class

java - Android从非 Activity 类问题调用cameraApp

android - 应用程序公钥在android应用内计费中有什么用

android - 如何检查订阅项目的到期时间

java - queryPurchases() vs queryPurchaseHistoryAsync() 为了 'restore' 功能?

android - 已退款的托管商品是否需要消费?