PurchasesResult:表示购买结果的类,其中包含了购买的详细信息,如订单ID、商品ID、支付时间等。
queryPurchases:查询购买信息的方法,可以返回用户已购买的商品信息列表。
示例代码:
private void queryPurchases() {
Purchase.PurchasesResult purchasesResult = mBillingClient.queryPurchases(BillingClient.SkuType.INAPP);
if (purchasesResult.getResponseCode() == BillingClient.BillingResponse.OK && purchasesResult.getPurchasesList() != null) {
handlePurchases(purchasesResult.getPurchasesList());
}
}
示例代码:
private void handlePurchases(List purchases) {
for (Purchase purchase : purchases) {
if (purchase.getSku().equals(PRODUCT_ID)) {
// 处理购买成功逻辑
}
}
}
示例代码:
private void startPayment() {
List skuList = new ArrayList<>();
skuList.add(PRODUCT_ID);
SkuDetailsParams params = SkuDetailsParams.newBuilder().setSkusList(skuList).setType(BillingClient.SkuType.INAPP).build();
mBillingClient.querySkuDetailsAsync(params, new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(BillingResult billingResult, List skuDetailsList) {
if (billingResult.getResponseCode() == BillingClient.BillingResponse.OK && skuDetailsList != null && !skuDetailsList.isEmpty()) {
SkuDetails skuDetails = skuDetailsList.get(0);
BillingFlowParams flowParams = BillingFlowParams.newBuilder().setSkuDetails(skuDetails).build();
int responseCode = mBillingClient.launchBillingFlow(activity, flowParams).getResponseCode();
if (responseCode != BillingClient.BillingResponse.OK) {
上一篇:AndroidBilling/GooglePlay问题,除一个Google账户外无法测试应用内订阅
下一篇:AndroidBilling4.0.0-NopurchaseresultquerySkuDetailsAsync()