最新 Google支付 Google Play 结算库 4.0 版:从创建定价、商品到测试、支付成功等步骤

使用 Google Play 结算系统,分为线上gp后台配置和代码billing集成,以下都以应用内产品为例。我做的是小说,应用内购买的是书币。

  • 后台配置:前提能科学上网
  1. 设定定价,就是商品的定价:

按图所示建立价格, 我这里有4个价格。具体建立很简单

  1. 建立产品:一个产品对应一个定价,比如我这里7港币对应700书币。创建完后,如果没问题,一定要启用,不然app那边取不到数据,另外产品ID就是唯一,后面用在代码里取数据用的。

 

这里插入一个比较重要的点:需要为以后的测试分配测试员,因为测试的时候需要测试购买产品,不能用真实的钱去买,要扣税的,作者踩过。。。
要上传测试员的csv,新建csv,里面输入分配测试员的gmail邮箱,然后上传
 

 
重要的来了:找到授权测试的入口,输入免费测试的测试员gmail,回车就可以了
授权回应可以模拟购买中各种特殊情况。
 

测试的时候,用测试卡一键购买。

另外gp配置好任何东西,app端都需要等的,不会马上有效果,所以app端如果配置后没效果需要耐心等,1个小时内应该会有反应,作者操作的时候app端一直没效果,以为哪里有问题,过了段时间后就有了。
 

  • 代码集成:
 Google Play 结算库依赖项添加到应用的 build.gradle文件中
implementation 'com.android.billingclient:billing:4.0.0'
初始化 BillingClient,与 Google Play 建立连接
mBillingClient.startConnection()
展示可供购买的商品:
在回调onBillingClientSetupFinished里获取应用内产品列表
List<String> skuList = new ArrayList<>();

skus.add(YueduConstant.COIN700); 

skus.add(YueduConstant.COIN4000);

skus.add(YueduConstant.COIN10000);

skus.add(YueduConstant.COIN18000);
params.setSkusList(skuList).setType(skuType);

mBillingClient.querySkuDetailsAsync()
回调onSkuDetailsResponse中刷新app中的产品列表
notifyDataSetChanged
启动购买流程:点击某个产品购买
mBillingClient.launchBillingFlow
成功调用 launchBillingFlow() 后,系统会显示 Google Play 购买屏幕,就上图测试员购买弹出框
一键购买后回调onPurchasesUpdated,如果支付成功,app内操作充值部分代码。
用户还会收到包含交易收据的电子邮件,其中包含订单 ID 或交易的唯一 ID。用户每次购买一次性商品时,都会收到包含唯一订单 ID 的电子邮件。
最后有个重点:看你产品是什么类型的:非消耗型商品、消耗型商品,还是订阅
作者这里是消耗型商品:书币
所以购买后必须要通知gp我已经消耗了这次交易。
mBillingClient.consumeAsync(ConsumeParamsConsumeResponseListener)
如需表明某件一次性商品已被消耗,请调用 consumeAsync() 并添加 Google Play 应在用户重新购买时提供的购买令牌purchaseToken。您还必须传递一个实现 ConsumeResponseListener 接口的对象。该对象用于处理消耗操作的结果。您可以替换 onConsumeResponse() 方法,Google Play 结算库会在消耗操作完成时调用该方法.
如需确认非消耗型商品的购买交易,请使用结算库中的 BillingClient.acknowledgePurchase()  Google Play Developer API 中的 Product.Purchases.Acknowledge。在确认购买交易之前,您的应用应使用 Google Play 结算库中的 isAcknowledged() 方法或 Google Play Developer API 中的 acknowledgementState 字段检查该购买交易是否已经过确认。
非消耗的调用mBillingClient.acknowledgePurchase(AcknowledgePurchaseParams, AcknowledgePurchaseResponseListener)
订阅的处理方式与非消耗型商品类似
 
以上都配置以及集成好后,建一个测试版本,作者只做了内部测试:
 

建立新发布版本,把打包后的aab上传,然后去测试员界面,复制链接发给测试员。
 

然后去测试员手机(必须是之前分配的测试员gmail),登陆了gmail。把上面的链接去下载测试版本,多次发布的话,要记得版本号,有时候手机端没有那么快更新。要去下载最新版本号的版本。
 

 
 
详细说明见官方文档:https://developer.android.com/google/play/billing/integrate
另外附带部分购买的代码:主要是BillingManager.java
PurchaseActivity 中调用各种购买查询接口。

https://download.csdn.net/download/stone20011983/33605848

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

stone20011983

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值