准备工作

本主题列出并描述了在您可以在应用中销售产品之前需要采取的设置步骤。从总体上讲,此设置包括创建开发者帐号、创建和配置要销售的产品,以及启用和配置用于销售和管理产品的 API。本主题还介绍了如何配置实时开发者通知,以便在产品状态发生变化时收到通知。

设置 Google Play 开发者帐号

要将您的应用和游戏发布到 Google Play,请使用 Google Play Console。您还可以使用 Google Play Console 管理与计费相关的产品和设置。

要访问 Google Play Console,您需要 设置 Google Play 开发者帐号

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

在 Google Play Console 中启用与计费相关的功能

设置开发者帐号后,您必须发布包含 Google Play 计费库的应用版本。此步骤是必需的,以便在 Google Play Console 中启用与计费相关的功能,例如配置要销售的产品。

添加库依赖项

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

Google Play 计费库可从 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 库的 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 结算功能后,您需要配置要出售的产品。

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

Google Play Console 提供了一个 Web 界面,您可以使用它来管理您的产品。

  • 要创建和配置一次性产品,请参阅创建托管产品。请注意,Google Play Console 将一次性产品称为托管产品

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

作为 Web 界面的替代方案,您还可以使用inappproducts REST 资源(用于应用内商品)和monetization.subscriptions REST 资源(用于订阅商品)在 Google Play 开发者 API 中管理您的产品。

配置 Google Play 开发者 API

Google Play 开发者 API 是一个服务器到服务器的 API,它补充了 Android 上的 Google Play Billing 库。此 API 提供了 Google Play Billing 库中不可用的功能,例如安全地验证购买并向您的用户退款。

作为将 Google Play 的计费系统集成到您的应用的一部分,您必须通过 Google Play Console 配置对 Google Play 开发者 API 的访问权限。有关说明,请参阅Google Play 开发者 API 入门

配置对 Google Play 开发者 API 的访问权限后,请确保您已授予查看财务数据权限,这是访问与结算相关的功能所必需的。有关最佳实践以及有关配置权限的更多信息,请参阅添加开发者帐户用户和管理权限

配置实时开发者通知

实时开发者通知 (RTDN) 是一种机制,用于在用户在您的应用中获得的权利发生变化时接收来自 Google 的通知。RTDN 利用 Google Cloud Pub/Sub,它允许您接收推送到您设置的 URL 或使用 客户端库 轮询的数据。这些通知使您能够立即对订阅状态更改做出反应,避免需要轮询 Google Play 开发者 API。请注意,低效地使用 Google Play 开发者 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 Console
  2. 选择您的项目,然后点击左侧导航栏中的Pub/Sub
  3. 找到您的主题,并打开权限详细信息。

    accessing configuration for the permissions topic
    图 1. 访问权限主题的配置。
  4. 添加服务帐户 [email protected],并授予其Pub/Sub 发布者角色。

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

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

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

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

  1. 打开Google Play Console
  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 Console 中的订阅,点击查看消息,然后继续拉取消息。您应该确认您已拉取的任何消息,以避免 Cloud Pub/Sub 重复传递。对于推送订阅,请检查测试消息是否已传递到您的推送端点。成功的响应代码将用作消息确认。

    如果发布失败,则会显示错误。确保主题名称正确且 [email protected] 服务帐户对主题具有Pub/Sub 发布者访问权限。

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

    • 获取订阅和所有无效购买的通知 - 接收与订阅和无效购买相关的实时开发者通知。您不会收到一次性商品购买的通知。

    • 获取订阅和一次性产品的全部通知 - 接收所有订阅和已取消购买事件的通知。您还将接收一次性产品购买事件,例如ONE_TIME_PRODUCT_PURCHASEDONE_TIME_PRODUCT_CANCELED。请参阅一次性购买生命周期,了解有关这些购买事件的更多信息。
  9. 点击保存更改

验证您的配置

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

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

后续步骤