分享好友 最新资讯首页 最新资讯分类 切换频道
简单 3 步配置 Google Play Billing | 系列分享
2024-12-28 20:36

作者 / Caren Chang, Engineer



销售数字内容是许多 应用的主要营收渠道。具体形式包括销售应用内的特定商品 (如游戏金币) 以及订阅计划 (比如允许用户在限定时间内访问高级功能)。Google Play Billing 作为一个数字内容销售的工具和服务的集合,可以帮助开发者在 Android 应用中销售线上商品。


本文将从基础知识开始,带大家逐步深入,详细了解 Google Play Billing 3,及其用例和最佳实践。


首先,我们来熟悉一下 Google Play Billing 的一些关键组件。

了解了 Google Play Billing 的关键组件之后,我们将从头介绍如何设置环境并开始在 Android 应用中销售商品。


1. 设置 Android 应用以使用 Google Play Billing 开发库


第一步,也是最重要的一步,是设置 Android 应用以使用 Google Play Billing 开发库。


app/build.gradle 文件中添加以下依赖关系,在应用中实现 Google Play Billing:


添加库依赖关系后,为应用构建一个发布版 ,并将其上传到 Google Play 管理中心。



2. 添加应用内产品


上传 后,可以使用 Google Play 管理中心开始添加要在应用中销售的应用内产品。在 "商店发布 (Store Presence)" 下,有一个设置应用内产品的部分。在这里可以设置两种类型的商品:

创建新的托管产品和订阅时,需要输入商品的产品 ID (Product ID) 或 SKU。这个产品 ID 后续将在应用代码中使用,我们稍后会讲到。在创建托管产品之前,应慎重规划产品 ID。产品 ID 在应用中必须唯一,并且在创建后无法更改或重复使用。

为了使更快、更简单,您可以将您的 Google 帐号添加到 Google Play 开发者帐号的 " (License )" 中。这样,只要包名称与 Play Store 中的 匹配,就可以使用调试版本和调试签名进行。




3. 检查设置是否成功


在 Play 管理中心中设置好产品后,您可以在应用中查询产品的详细信息来检查设置是否成功。


如果一切顺利,您将会看到刚刚添加进 Play 管理中心的产品的详细信息!



4. 接入 Google Play Billing 开发库


下一步,便是如何在您的 Android 应用中接入 Google Play Billing 开发库。


本文将以一次性购买的生命周期为例,即在应用中销售数字商品及授予用户的过程。如果您在应用中提供了订阅功能,您也可以阅读往期文章订阅取消后的那些事儿——恢复订阅和重新订阅了解更复杂生命周期的订阅流程。


一次性产品可以是消耗品,也可以是非消耗品。消耗品意味着用户可以再次购买。例如,如果您的游戏允许用户购买金币,您可以将金币做成消耗品,让用户可以多次购买。非消耗品意味着用户只能购买一次,典型示例是包含额外应用内功能的升级包。


Google Play 管理中心配置应用内产品后,其销售过程如下:

让我们逐步分析这一过程。

1. 设置 BillingClient - BillingClient 类让您的应用可以与 Play Billing Library 进行通信。您的应用需要做的第一件事是调用 startConnection()Google Play 建立连接。


在实际环境中连接是有可能中断的,所以您的应用还必须重写 onBillingServiceDisconnected() 回调来处理重新连接,确保应用在发出任何进一步请求之前已与 Google Play 连接。



2. 获取用户的既有购买记录 - 成功设置 BillingClient 后,您的应用现在可以调用 queryPurchases() 来查询用户先前的购买记录。



3. 呈现待售产品 - 在本文的前半部分我们谈到了如何在 Google Play 管理中心中设置产品以及如何在应用中查询这些产品。在调用 querySkuDetailsAsync() 获取每个产品的 SkuDetails 后,即可使用这些信息设置对应的界面。



4. 启动购买流程 - 当用户点击产品进行购买时,您的应用需要带上产品 SkuDetails 来调用 launchBillingFlow(),从而向用户展示 Google Play 购买界面 (如下图所示)。 



5. 处理购买结果 - 在用户退出 Google Play 购买界面时 (点击 "购买" 按钮完成购买,或者点击 "返回" 按钮取消购买),onPurchaseUpdated() 回调会将购买流程的结果发送回您的应用。然后,根据 BillingResult.responseCode 即可确定用户是否成功购买产品。如果 responseCode == OK,则表示购买已成功完成。



onPurchaseUpdated() 会传回一个 Purchase 对象列表,其中包括用户通过应用进行的所有购买。每个 Purchase 对象都包含 skupurchaseTokenisAcknowledged 以及其他很多字段。使用这些字段,您可以确定每个 Purchase 对象是需要处理的新购买还是不需要进一步处理的既有购买。



6. 和确认购买 - 使用 Play Billing Library 3.0 时,您的应用需要确认购买成功才能完成购买流程。如果您的应用未在 72 小时内确认购买,则用户会自动收到退款,并且 Google Play 会撤消该购买交易


如果您的应用包含服务器组件,您应在验证成功后再确认购买。我们强烈推荐开发者对所有的应用内购买进行验证。请查看本指南了解有关打击欺诈性购买的更多信息。



在对购买进行验证之后,您还需要对其进行确认。



7. 授予用户产品 - 完成上述步骤后,您的应用就可以向用户授予他们购买的应用内产品了!


如果您想查看 Google Play Billing 开发库的资源,可以在此处访问官方文档。我们还提供了一些示例,演示了实现 Billing 库的最佳实践。本文中的代码示例可以在 GitHub 上获取。



如果您的应用目前尚未使用 Play Billing Library 3,务必查看我们的迁移指南,将您的应用迁移到最新的 Play Billing Library。




推荐阅读


nback="static" style="line-height:0;top:auto;left:auto;right:auto;bottom:auto">
nback="static" style="line-height:0;top:auto;left:auto;right:auto;bottom:auto">
nback="static" style="line-height:0;top:auto;left:auto;right:auto;bottom:auto">

 点击屏末  | 即刻通过 Google Play 开启成功出海之旅



最新文章
奇漫屋免费漫画app下载安装
奇漫屋免费漫画app下载是一款专为漫画爱好者打造的免费阅读神器,拥有丰富的漫画资源与精彩的内容编排,为用户带来极致的阅读体
安卓抖音可以投屏到电视吗
安卓抖音可以投屏到电视,抖音是一款音乐创意短视频社交软件,是一个专注年轻人的15秒音乐短视频社区。用户可以通过这款软件选择
高清美女写真一键生成,AI生图工具使用全攻略!
Artbreeder:Artbreeder是一个极富创意的工具,通过用户对不同风格的调整,生成无数的艺术作品。它的优势在于用户可以操控生成的
站长必备:提升运营效率的高效工具精选
2025AI图片传播,仅供参考  随着互联网的迅猛发展,网站已成为企业展示形象、推广产品和服务的重要平台。然而,面对庞大的互联
做贴牌、开超市、谋出海,1688的新故事成色几何?
文/王慧莹编辑/子夜2007年阿里巴巴赴港上市时,股票代码是“1688”。1688的背后,代表着阿里最古老的业务之一。B2B业务让在国内
喵趣漫画手机版
喵趣漫画手机版是一款涵盖了很多漫画题材的在线阅读软件,播放漫画的方式都是非常简单的,在首页会看到很多的热门资源,可以选择
重庆高考等级赋分怎么计算的?重庆新高考科目及各科分数
重庆高考等级赋分需要将原始成绩排名后划分等级,再根据等级对应赋分区间,用等级赋分的转换公式(Y2-Y)/(Y-Y1)=(X2-X)/(X
杂志信息网
地理学报收录/荣誉百种重点期刊中科双奖期刊Caj-cd规范获奖期刊北京大学《中文核心期刊总览》JST 日本科学技术振兴机构数据库(日
【U8825DWiFi万能钥匙下载】华为U8825DWiFi万能钥匙5.1.02免费下载
下载WiFi万能钥匙,认准官方正版!免费安全WiFi热点,无忧一键连接。日常任务随时做,轻松赚现金外快~【积分赚钱】完成简单日常
万事达集成灶售后维修24小时全国统一客服热线《今日汇总》 思想者 | 陈宪:建设现代化产业体系,创新生态和产业生态何以重要?
万事达集成灶24小时维修热线:400-965-8692。万事达集成灶全市各区点热线号码。☎:400-965-8692万事达集成灶,秉承“诚信为本、