- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在使用三个保留的产品 ID 测试应用内购买以测试静态 Google Play 结算 responses :
但是,setSku
和setType
似乎在BillingFlowParams.Builder
中被弃用class .相反,我们应该使用 setSkuDetails(SkuDetails)
。
我应该如何更改示例代码中的 BillingFlowParams
以将 SkuDetails
用于测试产品 ID?
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSku(skuId)
.setType(SkuType.INAPP)
.build();
int responseCode = mBillingClient.launchBillingFlow(flowParams);
最佳答案
您应该从 BillingClient.querySkuDetailsAsync 获取 SkuDetails,示例代码可能如下所示:
private BillingClient mBillingClient;
// ....
mBillingClient = BillingClient.newBuilder(this).setListener(new PurchasesUpdatedListener() {
@Override
public void onPurchasesUpdated(int responseCode, @Nullable List<Purchase> purchases) {
if (responseCode == BillingClient.BillingResponse.OK
&& purchases != null) {
// do something you want
} else if (responseCode == BillingClient.BillingResponse.USER_CANCELED) {
} else {
}
}
}).build();
mBillingClient.startConnection(new BillingClientStateListener() {
@Override
public void onBillingSetupFinished(@BillingClient.BillingResponse int billingResponseCode) {
if (billingResponseCode == BillingClient.BillingResponse.OK) {
// The billing client is ready. You can query purchases here.
List<String> skuList = new ArrayList<>();
skuList.add("android.test.purchased");
SkuDetailsParams skuDetailsParams = SkuDetailsParams.newBuilder()
.setSkusList(skuList).setType(BillingClient.SkuType.INAPP).build();
mBillingClient.querySkuDetailsAsync(skuDetailsParams,
new SkuDetailsResponseListener() {
@Override
public void onSkuDetailsResponse(int responseCode, List<SkuDetails> skuDetailsList) {
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetailsList.get(0))
.build();
int billingResponseCode = billingClient.launchBillingFlow(SkuActivity.this, flowParams);
if (billingResponseCode == BillingClient.BillingResponse.OK) {
// do something you want
}
}
});
}
}
@Override
public void onBillingServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
});
你也可以看看https://developer.android.com/google/play/billing/billing_library_overview
关于android - BillingFlowParams.Builder setSkuDetails 用于测试静态 Google Play 结算响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53026541/
我有一个 MySQL 数据库,其中包含订单表和具有可用库存的零件号表。 例如 ==Orders Table== part_number order_date qty ==Stock Table== p
我正在使用 Libgdx + Android Studio 并尝试实现 Google Play Billing。我按照 here 中的说明进行操作.我修改了我的依赖项,如示例所示: dependenc
背景:我们有一个电视应用程序,它提供每月订阅作为其唯一的应用程序内项目。 我主要是在寻找我认为是真实的确认: 从 Google Play 计费库 2.0 版开始,就有一种称为待定购买的东西。主要的实际
我正在尝试集成 Google Play 结算。 这是我的 onCreate : private final static String TAG = "MainActivity" ; priva
我遵循了 Google 开发者文档中的所有最佳实践:https://developer.android.com/google/play/billing/billing_library_overview
我想知道文档是否将使用 ProGuard 的含义错误(相反)? 来源:https://developer.android.com/google/play/billing/billing_library
编辑:因为有些人仍在检查这个线程,我想提一下,这是非常过时的,因为它是关于应用程序购买中的 v2,现在已弃用。请查看latest (目前是 v3)文档,非常简单 关于这个问题有很多话题,我想我理解这个
在 2020 年 11 月之前,Google Play 上的 Android 应用必须管理“帐户保留”状态。 https://developer.android.com/distribute/play
我创建了一个带有应用内计费的测试应用。将其上传到 google play 并将其发送给 beta 测试人员。当他们尝试购买时,他们会收到 Error retrieving information fr
我是一名优秀的程序员,十分优秀!