本主题列出并说明了在您的应用中销售商品之前需要执行的设置步骤。大体上讲,此设置包括创建开发者账号、创建和配置要销售的商品,以及启用和配置用于销售和管理商品的 API。此外,本主题还介绍了如何配置实时开发者通知,以便在商品的状态发生变化时随时收到通知。
设置 Google Play 开发者账号
如需在 Google Play 上发布您的应用和游戏,请使用 Google Play 管理中心。您还可以使用 Google Play 管理中心管理与结算相关的商品和设置。
如需访问 Google Play 管理中心,您需要设置 Google Play 开发者账号。
如需在 Google Play 上销售付费应用和应用内购商品,您还必须在 Google 付款中心设置付款资料,然后将该付款资料与您的 Google Play 开发者账号相关联。如需了解如何将您的付款资料与账号相关联,或者了解如何检查您是否已有关联的账号和付款资料,请参阅将 Google Play 开发者账号与您的付款资料相关联。
在 Google Play 管理中心内启用结算相关功能
设置开发者账号后,您必须发布包含 Google Play 结算库的应用版本。如需在 Google Play 管理中心启用结算相关功能(如配置您要销售的商品),必须执行此步骤。
添加库依赖项
如需集成 Google Play 结算系统,请先在您的应用中添加对 Google Play 结算库的依赖项。此库可让您访问用于连接到 Google Play 的 Android API。这样,您便可以访问购买信息、查询有关购买交易的更新、提示用户进行新的购买交易,等等。
Google 的 Maven 代码库中提供了 Google Play 结算库。将依赖项添加到应用的 build.gradle
文件中,如下所示:
классный
dependencies { def billing_version = "7.0.0" implementation "com.android.billingclient:billing:$billing_version" }
Котлин
dependencies { val billing_version = "7.0.0" implementation("com.android.billingclient:billing:$billing_version") }
如果您使用的是 Kotlin,Play 结算库 KTX 模块包含了 Kotlin 扩展程序和协程支持,可让您在使用 Google Play 结算系统时编写惯用的 Kotlin 代码。如需将这些扩展程序包含在项目中,请将以下依赖项添加到应用的 build.gradle
文件中,如下所示:
классный
dependencies { def billing_version = "7.0.0" implementation "com.android.billingclient:billing-ktx:$billing_version" }
Котлин
dependencies { val billing_version = "7.0.0" implementation("com.android.billingclient:billing-ktx:$billing_version") }
本页中的 Kotlin 代码示例尽可能使用了 KTX。
上传应用
将该库添加到您的应用后,构建并发布您的应用。在此步骤中,创建您的应用,然后将其发布到任何轨道,包括内部测试轨道。
创建和配置您的商品
为您的应用启用 Google Play 结算服务功能后,您需要配置要销售的商品。
创建一次性商品和订阅的步骤相似。对于每个商品,您需要提供唯一的商品 ID、商品名、说明和定价信息。订阅具有其他必需的信息,例如选择基础方案是自动续订类型还是预付费续订类型。
Google Play 管理中心提供了一个可用于管理商品的网页界面。
作为网页界面的替代方案,您还可以使用 Google Play Developer API 中的 inappproducts
REST 资源(对于应用内商品)和 monetization.subscriptions
REST 资源(对于订阅商品)来管理商品。
配置 Google Play Developer API
Google Play Developer API 是一种服务器到服务器 API,与 Android 平台上的 Google Play 结算库相辅相成。此 API 提供了 Google Play 结算库中未提供的功能,如安全地验证购买交易以及为用户办理退款。
在将 Google Play 结算系统集成到应用的过程中,您必须通过 Google Play 管理中心来配置对 Google Play Developer API 的访问权限。有关说明,请参阅 Google Play Developer API 使用入门。
配置对 Google Play Developer API 的访问权限后,请确保您已授予查看财务数据权限,需要具备此权限才能访问与结算相关的功能。如需了解最佳做法以及有关配置权限的详细信息,请参阅添加开发者账号用户并管理权限。
配置实时开发者通知
借助实时开发者通知 (RTDN) 机制,每当用户的权限在您的应用中发生变化时,您都会收到来自 Google 的通知。RTDN 利用 Google Cloud Pub/Sub,该服务可让您接收推送到您设置的网址的数据或使用客户端库轮询的数据。这些通知允许您立即对订阅状态的变化做出反应,这样就无需轮询 Google Play Developer API。请注意,如果 Google Play Developer API 的使用效率低下,可能会导致 API 配额限制。
Cloud Pub/Sub 是一种全代管式实时消息传递服务,您可以使用该服务在独立应用之间收发消息。Google Play 使用 Cloud Pub/Sub 发布有关您所订阅主题的推送通知。
为了接收通知,您需要创建后端服务器以使用发送到您主题的消息。您的服务器随后便可以使用这些消息,方法是响应对已注册端点的 HTTPS 请求,或使用 Cloud Pub/Sub 客户端库。这些库有多种语言版本。如需了解详情,另请参阅本主题的创建 Pub/Sub 订阅部分。
确定定价和配额
估算流量消耗
订阅通知的流量大约为每个请求 1KB 的流量。每次发布和提取通知都需要一个单独的请求,即每个通知大约 2KB 的流量。每月的通知数量取决于您的结算周期和用户的行为。在一个结算周期内,每个用户应至少有一个通知。
设置 Cloud Pub/Sub
如需启用实时开发者通知,您必须先使用自己的 Google Cloud Platform (GCP) 项目设置 Cloud Pub/Sub,然后再为您的应用启用通知。
如需使用 Cloud Pub/Sub,您必须拥有一个启用了 Cloud Pub/Sub API 的 GCP 项目。如果您不熟悉 GCP 和 Cloud Pub/Sub,请参阅快速入门指南。
创建主题
如需开始接收通知,您必须创建一个主题,Google Play 会将通知发布到该主题。如需创建主题,请按照创建主题中的说明操作。
创建 Pub/Sub 订阅
如需接收发布到某个主题的消息,您必须创建对该主题的 Pub/Sub 订阅。如需创建 Pub/Sub 订阅,请执行以下操作:
- 阅读 Cloud Pub/Sub 订阅者指南,以确定是将订阅配置为“推送订阅”还是“拉取订阅”。
- 推送订阅允许 Cloud Pub/Sub 通过发出 HTTPS 请求向您的安全后端服务器发送通知。
- 拉取订阅要求您的安全后端服务器向 Cloud Pub/Sub 服务器发起请求以检索消息。
- 按照添加订阅中的说明来创建订阅。
针对您的主题授予发布权限
Cloud Pub/Sub 要求您向 Google Play 授予向您的主题发布通知的权限。
- 打开 Google Cloud 控制台。
- 选择您的项目,然后在左侧导航栏中点击 Pub/Sub。
找到您的主题,然后打开权限详细信息。
添加服务账号
google-play-developer-notifications@system.gserviceaccount.com
,然后授予其 Pub/Sub 发布商的角色。点击保存以完成主题的设置。
为您的应用启用实时开发者通知
如需为您的应用启用实时开发者通知,请执行以下操作:
- 打开 Google Play 管理中心。
- 选择您的应用。
- 依次前往创收 > 创收设置。
滚动到页面顶部的实时开发者通知部分。
选中启用实时通知。
在主题名称字段中,输入您之前配置的完整 Cloud Pub/Sub 主题名称。主题名称应采用
projects/{project_id}/topics/{topic_name}
格式,其中project_id
是项目的唯一标识符,topic_name
是之前创建的主题的名称。点击发送测试消息以发送测试消息。执行测试发布有助于确保一切均已正确设置和配置。如果测试发布成功,则系统会显示一条消息,表明测试发布已成功。如果您已附加该主题的订阅,则应收到测试消息。
对于“拉取订阅”,请在 Cloud 控制台中找到该订阅,点击查看消息,然后继续拉取消息。您应该确认提取的任何消息,以避免 Cloud Pub/Sub 重复传送。对于推送订阅,检查测试消息是否已传送至您的推送端点。成功的响应代码将充当消息确认的作用。
如果发布失败,则系统会显示错误。请确保主题名称正确,并且
google-play-developer-notifications@system.gserviceaccount.com
服务账号拥有对该主题的 Pub/Sub 发布商访问权限。选择您希望接收的通知类型。
- 接收有关订阅和所有已作废购买交易的通知 - 接收与订阅和已作废购买交易相关的实时开发者通知。您不会收到关于一次性商品购买交易的通知。
- 接收与订阅和一次性商品相关的所有通知 - 接收所有订阅和已作废购买事件的相关通知。您还会收到一次性商品购买事件,例如
ONE_TIME_PRODUCT_PURCHASED
和ONE_TIME_PRODUCT_CANCELED
。如需详细了解这些购买事件,请参阅一次性购买生命周期。
点击保存更改。
验证您的配置
为了接收实时开发者通知,您应创建安全的后端服务器,以使用发送到您的 Cloud Pub/Sub 主题的消息。
您可以使用 Google Play 管理中心的发送测试消息按钮来测试您的配置,如上一部分中所述。如果您尚未配置后端服务器以使用通知,可以使用 gcloud
命令行工具来验证配置。有关使用 gcloud
处理消息的说明,请参阅从订阅拉取消息。