Ric*_*Joe 8 android android-billing
我想使用 android billing 版本 5。问题是我使用的是版本 3,有些功能现在已弃用。
我有这个,但PurchasesResult、queryPurchases 和 getPurchasesList 不再存在:
@Override
public void onBillingSetupFinished(@NonNull BillingResult billingResult) {
if(billingResult.getResponseCode()==BillingClient.BillingResponseCode.OK){
Purchase.PurchasesResult queryPurchase = billingClient.queryPurchases(INAPP);
List<Purchase> queryPurchases = queryPurchase.getPurchasesList();
if(queryPurchases!=null && queryPurchases.size()>0){
handlePurchases(queryPurchases);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能让它在版本 5 上工作?
也无法解析 getSku():
//if purchase is pending
else if( PRODUCT_ID.equals(purchase.getSku()) && purchase.getPurchaseState() == Purchase.PurchaseState.PENDING)
{
Toast.makeText(getApplicationContext(),
R.string.plus_pending, Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
谢谢
他是 Google Play 计费库 4 到 5 迁移指南 https://developer.android.com/google/play/billing/migrate-gpblv5#processing-purchases
从您的示例来看,我想说您必须致电billingClient.queryPurchasesAsync。并且您不再需要调用queryPurchase.getPurchasesList(),您将收到作为 Listener 参数返回的购买列表。
billingClient.queryPurchasesAsync(
QueryPurchasesParams.newBuilder().setProductType(ProductType.SUBS).build(),
new PurchasesResponseListener() {
public void onQueryPurchasesResponse(
@NonNull BillingResult billingResult,
@NonNull List<Purchase> purchases) {
// Process the result
if(purchases.size()>0){
handlePurchases(purchases);
}
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2353 次 |
| 最近记录: |