由于Google Play Billing Library 2.0.x中的“setProductId”已被删除,我们必须使用 setSkuDetails 来启动BillingFlow。那么如何启动 BillingFlow 来购买商品
• 我有 3 个单选按钮
• 用户必须选择一项并通过点击按钮付款
我从文档中执行了以下操作来获取价格
final List<String> skuList = new ArrayList<>();
skuList.add("item1");
skuList.add("item2");
skuList.add("item3");
SkuDetailsParams.Builder params = SkuDetailsParams.newBuilder();
params.setSkusList(skuList).setType(BillingClient.SkuType.INAPP);
mBillingClient.querySkuDetailsAsync(params.build(),
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult, List<SkuDetails> skuDetailsList) {
if (billingResult.getResponseCode() == BillingClient.BillingResponseCode.OK && skuDetailsList != null) {
for (SkuDetails skuDetails : skuDetailsList) {
String sku = skuDetails.getSku();
String price = skuDetails.getPrice();
if ("item1".equals(sku)) {
item1price = price;
} else if ("item2".equals(sku)) {
item2price = price;
} else if ("item3".equals(sku)) {
item3price = price;
}
}
}
});
用户选择商品后如何通过按钮点击购买单品?
mBuyButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetails)
.build();
}
});