Как 'setProductId' в Google Play Billing Library 2.0.x был удален, и мы должны использовать setSkuDetails для запускаBillingFlow. Итак, как запустить BillingFlow для совершения покупки товара
• У меня есть 3 вещи, которые являются RadioButtons
• Пользователь должен выбрать один товар и оплатить, нажав кнопку
Я сделал следующее из документации, чтобы получить цену
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();
}
});