在应用计费 v3 中 - 为什么我在调用 queryPurchases(skuID) 时得到 DEVELOPER_ERROR?
In app billing v3 - why I get DEVELOPER_ERROR when calling queryPurchases(skuID)?
我实施了应用内计费(订阅)并且一切正常 - 我能够订阅,我确认订阅,计费流程成功结束,状态正常。
但是,在我的应用程序启动时,我正在检查(从 Google 播放缓存)我是否已经进行了购买 - 我总是得到 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.INAPP
或 BillingClient.SkuType.SUBS
作为参数,如 documentation.
中所述
在您的示例中,您似乎输入了订阅产品的 SKU ID。
我实施了应用内计费(订阅)并且一切正常 - 我能够订阅,我确认订阅,计费流程成功结束,状态正常。
但是,在我的应用程序启动时,我正在检查(从 Google 播放缓存)我是否已经进行了购买 - 我总是得到 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.INAPP
或 BillingClient.SkuType.SUBS
作为参数,如 documentation.
在您的示例中,您似乎输入了订阅产品的 SKU ID。