Android 谷歌支付对接流程

需求:最新的项目需要对接谷歌的订阅功能,很久没对谷歌支付了,最开始还是绕了点弯路,在此进行一点小小的总结

1.项目配置

  • 创建一个应用
    登录到 Google Play Console,创建或选择一个现有的应用。

  • 设置结算功能
    在应用设置中,启用 Google Play 结算。

  • 添加订阅商品

    • 导航到 产品 > 订阅
    • 添加订阅的商品 ID(例如:premium_monthly),并设置价格、结算周期等详细信息。
  • 测试用户

    • 设置 > 许可证测试 中添加测试账户的 Gmail 地址。
    • 确保这些测试账户未绑定真实的支付方式。
    • 记住支付相关的要生成链接给测试账户的手机进行许可(在这儿踩了个坑)。具体的创建流程可以看这个博客,我主要总结下代码:
    • Google Play 内购/订阅实现_谷歌内购-CSDN博客

1.1.依赖

权限声明

    <uses-permission android:name="com.android.vending.BILLING" />
    <uses-permission android:name="android.permission.INTERNET" />

依赖库:app的build.gradle下

implementation 'com.android.billingclient:billing:6.0.1'

2.代码实现

2.1 在BaseApp里进行初始化的调用,BaseApp记得在manifest进行引用。

VIPUtils.initializeBillingClient(this)

2.2 具体代码

object VIPUtils {
    lateinit var billingClient: BillingClient

    //初始化购买信息
    fun initializeBillingClient(context: Context) {
        billingClient = BillingClient.newBuilder(context).setListener { billingResult, purchases -> //购买回调监听
            LogUtils.e("onPurchasesUpdated", billingResult.responseCode.toString() + ". purchases.  " + purchases?.size.toString())
            if (billingResult.responseCode == BillingClient.BillingResponseCode.OK && purchases != null) { //表示购买请求成功
                handlePurchases(purchases)
            }
        }.enablePendingPurchases() // 必须调用,支持挂起的购买
            .build()

        billingClient.startConnection(object : BillingClientStateListener {
            override fun onBillingSetupFinished(billingResult: BillingResult) {
                LogUtils.e("onBillingSetupFinished", billingResult.responseCode.toString())
                if (billingResult.responseCode == BillingClient.BillingResponseCode.OK) { // BillingClient 已准备好
                    queryProducts() // 查询商品信息
                }
            }

            over
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

&岁月不待人&

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

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

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

打赏作者

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

抵扣说明:

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

余额充值