准备工作

本主题列出并介绍了您在应用中销售产品之前需要执行的设置步骤。概括而言,这些设置包括创建开发者帐号、创建和配置您要出售的产品,以及启用和配置用于销售和管理产品的 API。本主题还介绍了如何配置实时开发者通知,以便在产品状态发生变化时收到通知。

设置 Google Play 开发者帐号

要将您的应用和游戏发布到 Google Play,请使用 Google Play 管理中心。您还可以使用 Google Play 管理中心管理您的结算相关产品和设置。

要访问 Google Play 管理中心,您需要设置 Google Play 开发者帐号

要在 Google Play 上销售付费应用和应用内购买商品,您还必须在 Google Payments Center 中设置个人资料,然后将该个人资料关联到您的 Google Play 开发者帐号。要了解如何将您的个人资料关联到您的帐号,或如何查看您是否已有关联的帐号和个人资料,请参阅将 Google Play 开发者帐号关联到您的付款资料

在 Google Play 管理中心启用结算相关功能

设置开发者帐号后,您必须发布包含 Google Play Billing Library 的应用版本。此步骤是必需的,以便在 Google Play 管理中心启用结算相关功能,例如配置您要出售的产品。

添加库依赖项

要集成 Google Play 结算系统,首先在应用中添加 Google Play Billing Library 的依赖项。该库提供访问 Android API 的权限,让您连接到 Google Play。您可以从那里访问购买信息、查询购买更新、提示用户进行新的购买等等。

Google Play Billing Library 可从 Google 的 Maven 代码库获取。将依赖项添加到应用的 build.gradle 文件中,如下所示

Groovy

dependencies {
    def billing_version = "7.1.1"

    implementation "com.android.billingclient:billing:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "7.1.1"

    implementation("com.android.billingclient:billing:$billing_version")
}

如果您使用的是 Kotlin,Play Billing Library KTX 模块包含 Kotlin 扩展和协程支持,让您在使用 Google Play 结算系统时能够编写更符合 Kotlin 习惯的代码。要将这些扩展包含到您的项目中,请将以下依赖项添加到应用的 build.gradle 文件中,如下所示

Groovy

dependencies {
    def billing_version = "7.1.1"

    implementation "com.android.billingclient:billing-ktx:$billing_version"
}

Kotlin

dependencies {
    val billing_version = "7.1.1"

    implementation("com.android.billingclient:billing-ktx:$billing_version")
}

此页面上的 Kotlin 代码示例尽可能地利用了 KTX。

上传您的应用

将库添加到应用后,即可构建并发布您的应用。对于此步骤,请创建您的应用,然后发布到任何轨道,包括内部测试轨道

创建和配置您的产品

为您的应用启用 Google Play Billing 功能后,您需要配置要销售的产品。

创建一次性产品和订阅的步骤类似。对于每种产品,您都需要提供唯一的产品 ID、标题、描述和定价信息。订阅还有其他必需信息,例如选择基本方案是自动续订还是预付费续订类型。

Google Play 管理中心提供一个网页界面,您可以使用它来管理您的产品。

  • 要创建和配置一次性产品,请参阅创建受管理商品。请注意,Google Play 管理中心将一次性产品称为受管理商品

  • 要创建和配置订阅,请参阅创建订阅

作为网页界面的替代方案,您还可以使用 Google Play Developer API 中的应用内商品的 inappproducts REST 资源以及订阅商品的 monetization.subscriptions REST 资源来管理您的产品。

配置 Google Play Developer API

Google Play Developer API 是一个服务器到服务器 API,是对 Android 上的 Google Play Billing Library 的补充。该 API 提供了 Google Play Billing Library 中没有的功能,例如安全地验证购买和向用户退款。

作为将 Google Play 结算系统集成到您的应用的一部分,您必须通过 Google Play 管理中心配置对 Google Play Developer API 的访问权限。有关说明,请参阅Google Play Developer API 入门

配置好对 Google Play Developer API 的访问权限后,请务必授予 View financial data 权限,这是访问结算相关功能所需的权限。有关最佳实践以及配置权限的更多信息,请参阅添加开发者帐号用户和管理权限

配置实时开发者通知

实时开发者通知 (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 订阅,请执行以下操作

  1. 阅读Cloud Pub/Sub 订阅者指南,确定是配置为推送订阅还是拉取订阅
    • 推送订阅允许 Cloud Pub/Sub 通过发出 HTTPS 请求将通知发送到您的安全后端。
    • 拉取订阅要求您的安全后端服务器发起请求以从 Cloud Pub/Sub 服务器检索消息。
  2. 按照添加订阅中的说明创建订阅。

授予主题的发布权限

Cloud Pub/Sub 要求您授予 Google Play 权限以将通知发布到您的主题。

  1. 打开Google Cloud 控制台
  2. 选择您的项目,然后点击左侧导航栏中的 Pub/Sub
  3. 找到您的主题,然后打开权限详情。

    accessing configuration for the permissions topic
    图 1. 访问权限主题的配置。
  4. 添加服务帐号 google-play-developer-notifications@system.gserviceaccount.com,并为其授予 Pub/Sub Publisher 角色。

    adding google play service account as pub/sub publisher
    图 2. 将 Google Play 服务帐号添加为 Pub/Sub 发布者。
  5. 点击保存以完成主题设置。

    a configured topic
    图 3. 已配置的主题。

为您的应用启用实时开发者通知

要为您的应用启用实时开发者通知,请执行以下操作

  1. 打开Google Play 管理中心
  2. 选择您的应用。
  3. 前往创收 > 创收设置
  4. 滚动到页面顶部的实时开发者通知部分。

    Real-time developer notifications section
    图 4. 实时开发者通知部分。
  5. 勾选启用实时通知

  6. 主题名称字段中,输入您之前配置的完整 Cloud Pub/Sub 主题名称。主题名称应采用 projects/{project_id}/topics/{topic_name} 格式,其中 project_id 是您项目的唯一标识符,topic_name 是之前创建的主题名称。

  7. 点击发送测试消息以发送测试消息。执行测试发布有助于确保一切都已正确设置和配置。如果测试发布成功,将显示一条消息,说明测试发布成功。如果您已为此主题附加订阅,您应该会收到测试消息。

    对于拉取订阅,请转到 Cloud 控制台中的订阅,点击查看消息,然后继续拉取消息。您应该确认已拉取的任何消息,以避免 Cloud Pub/Sub 重复投递。对于推送订阅,检查测试消息是否已投递到您的推送端点。成功的响应代码将作为消息确认。

    如果发布失败,将显示错误。请确保主题名称正确,并且服务帐号 google-play-developer-notifications@system.gserviceaccount.com 具有对主题的 Pub/Sub Publisher 访问权限。

  8. 选择您要接收的通知类型。

    • 接收订阅和所有无效购买的通知 - 接收与订阅和无效购买相关的实时开发者通知。您不会收到一次性产品购买的通知。
    • 接收订阅和一次性产品的所有通知 - 接收所有订阅和无效购买事件的通知。您还将收到一次性产品购买事件,例如 ONE_TIME_PRODUCT_PURCHASEDONE_TIME_PRODUCT_CANCELED。请参阅一次性购买生命周期,详细了解这些购买事件。
  9. 点击保存更改

验证您的配置

要接收实时开发者通知,您应该创建一个安全的后端服务器来使用发送到您的 Cloud Pub/Sub 主题的消息。

您可以使用 Google Play 管理中心中的发送测试消息按钮来测试您的配置,如前文所述。如果您尚未配置后端服务器来使用通知,可以使用 gcloud 命令行工具来验证配置。有关使用 gcloud 处理消息的说明,请参阅从订阅中拉取消息

后续步骤