在旧设备上查询项目时出错



我已经实现了计费库,它可以在 API 级别 28 上运行,但在 api 级别 23 上不起作用,我得到 W/BillingClient:getSkuDetails(( 失败。响应代码:6

public void startConnection() {
billingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(BillingResult billingResult) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK) {
// The BillingClient is ready. You can query purchases here.
List<String> skuList = new ArrayList<>();
skuList.addAll(skuListFetchFromServer);
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
params.setSkusList(skuList).setType(BillingClient.SkuType.SUBS);
billingClient.querySkuDetailsAsync(params.build(),
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult, List<SkuDetails> skuDetailsList) {
for (SkuDetails details : skuDetailsList) {
Log.w(TAG, "Got a SKU: " + details);
}
}
});
}
}
@Override
public void onBillingServiceDisconnected() {
}
});
}

此错误是否被重新发送到设备,gmail帐户或API级别 请帮助我,我浪费了很多时间寻找解决方案,但无法修复它。

Google 不再支持 IabHelper 和 AIDL 进行应用内计费实现,它们已被弃用。

对于新项目,应使用计费库添加:

implementation 'com.android.billingclient:billing:2.0.3'

在您的应用程序构建中。

使用计费库,即使在Android 4.1手机中,我也可以毫无问题地获取调用billingClient.querySkuDetailsAsync()的商品价格

最新更新