【发布时间】:2019-01-20 13:37:02
【问题描述】:
我已经编写了这些代码,这些代码肯定会从 api 获取 sku,因为它会在日志中打印获取的 skus,但是当我使用 .setSku() 或 设置 sku 时。 setType() 甚至直接 .setSkuDetails() 仍然没有构建 billingFlowParams,但是当我将 android.test.purchased 传递给.setSku()。我不明白我做错了。任何帮助都会被应用。
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder()
List<String> Skus=new ArrayList<>();
Skus.add("sms_100103");
Skus.add("sms_500105");
params.setSkusList(Skus).setType(BillingClient.SkuType.INAPP);
mBillingClient.querySkuDetailsAsync(params.build(), new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
Log.d(TAG, "onSkuDetailsResponse: "+responseCode+" 1."+skuDetailsList.get(1));
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSku(skuDetailsList.get(1).getSku())
.setType(skuDetailsList.get(1).getType())
.build();
int res= mBillingClient.launchBillingFlow((Activity) context,flowParams);
Log.d(TAG, "onSkuDetailsResponse: "+res);
}
});
【问题讨论】:
-
代码是正确的,如果你能说明你得到的错误代码会很好。
标签: in-app-purchase in-app-billing android-billing in-app-subscription play-billing-library