Join us on the livestream at Android Dev Summit on 7-8 November 2018, starting at 10AM PDT!

Google Play Developer API

Google Play Developer API 是一种基于 REST 的网络服务,利用这种服务,您可以执行应用发布和管理任务。 您可以使用此 API 将您的发布操作与版本管理流程集成。

并不是所有的开发者都需要使用 API — 在大多数情况下,您仍需要继续使用 Google Play Developer Console 来直接管理应用。不过,如果您有大量 APK 需要管理,或者需要跟踪用户购买和订阅,您会发现此 API 非常有用。

使用 Google Play Developer API,您可以实现多种应用管理任务的自动化,其中包括:

  • 上传和发布应用的新版本
  • 修改应用的 Google Play 商店商品详情,包括已本地化的文字和图形
  • 管理您的应用内商品目录、商品购买状态和应用订阅

利用 Google Play Developer API,您可以集中精力设计和开发应用,同时减少版本管理的时间和工作,即使您将应用推向新市场也能如此。

Google Play Developer API 包括两个组件:

Publishing API

您可以使用 Google Play Developer Publishing API 将应用分发涉及的频繁任务自动化。 Publishing API 为开发者提供了类似于通过 Google Play Developer Console 实现的功能,例如:

  • 上传应用的新版本
  • 通过将 APK 分配至各个渠道(Alpha、Beta、分阶段发布或生产)发布应用
  • 创建和修改 Google Play 商店中的商品详情,包括已本地化的文字和图形与多设备屏幕截图

这些任务使用修改功能执行,并采用事务型方式进行更改 — 将多个更改绑定到一个草稿修改中,然后一次性提交所有更改。 (只有提交修改后,这些更改才会生效。)

:并不是所有开发者都需要使用此 API。 API 提供的所有功能也可以通过 Google Play Developer Console 获得。 不过,利用此 API,您可以将应用和商品详情更新流程与您现有的工具集成,这种功能对某些开发者来说非常实用。 特别是,如果您有大量 APK 需要管理或者拥有多种不同语言的本地化商品详情,您会发现此 API 弥足珍贵。

Subscriptions and In-App Purchases API

利用此 API,您可以管理应用的应用内商品和订阅目录。 此外,利用 Subscriptions and In-App Purchases API,您还可以通过标准的 GET 请求快速检索任何购买的详情。 在请求中,您需要提供购买的相关信息 — 应用软件包名称、购买或订阅 ID 和购买令牌。 服务器通过 JSON 对象响应,此对象将说明关联的购买详情、订单状态、开发者有效负载和其他信息。

您可以通过多种方式使用 Purchase Status API,例如,使用它报告和协调各个订单,以及验证购买和订阅过期。 您也可以使用此 API 来了解已取消的订单和确认应用内商品是否已经消耗,包括它们是否是先消耗然后又被取消。

:Subscriptions and In-AppPurchases API 不使用 Publishing API 所用的新事务型“修改”功能。 InappproductsPurchases.productsPurchases.subscriptions 资源的方法将立即生效。 不管资源的方法是否使用“修改”模式,每个资源的 API 都专门引用页面注释。

Purchase Status API 是 Google Play Developer API v. 2.0 的一部分,可以通过 Google Developers Console 获得。

使用 API

要开始发起 API 调用,您需要直接从 Google Play Developer Console 中管理 Google Play Developer API。 API 只能由您 Google Play Developer 帐户的所有者管理。

要访问 API,您需要执行以下操作:

  1. 设置一个新的 API 项目或一个现有的 API 项目
  2. 设置一个或多个获得授权的客户端,它们可以是下列两种选择之一:

如需了解完整详情,请参阅 Google Play Developer API 入门指南页面。

分阶段修改

利用 Google Play Developer Publishing API 的修改方法,您可以准备和提交对 Google Play 应用的更改。 在准备好更新后,只需一个操作即可将其部署。 您可以进行的更改包括:

  • 上传一个或多个 APK
  • 将不同的 APK 分配到不同的“渠道”:Alpha、Beta、分阶段分布和生产
  • 为应用创建和修改已本地化的商品详情
  • 为应用的商品详情上传屏幕截图和其他图像

分阶段完成所有需要的更改后,只需一个操作即可将其全部提交。

如需了解分阶段修改的完整详情,请参阅 Google Play Developer API 修改页面。

:新的事务型“修改”功能只能由 Publishing API 使用。 Subscriptions and In-App Purchases API 的方法将立即生效。 不管资源的方法是否使用“修改”模式,每个资源的 API 都专门引用页面注释。

有效使用 API

管理对 Google Play Developer API 的访问有助于确保为使用它的所有应用创建一个高效的环境(如配额中所述) 。尽管您可以为自己的应用请求较高的每日配额,我们仍建议您通过以下方式尽可能减少访问次数:

  • 限制应用更新的次数 — 发布 Alpha 或 Beta 更新的频率每天不要超过一次。 (生产应用的更新频率应当更低。) 每次更新都会消耗用户的时间,还可能花费他们的金钱。 如果您更新的频率过于频繁,用户会开始忽略更新,甚至卸载产品。 (当然,如果您的应用存在严重问题,则可以通过更新实施修复。)
  • 仅针对新购买查询 Purchase Status API — 发生购买时,您的应用会将购买令牌和其他详情传递到您的后端服务器,服务器可以使用 Purchase Status API 来验证购买。
  • 将购买详情缓存到您的服务器上 — 如果可能,请将应用内商品和订阅的购买详情缓存到您的后端服务器上。 如果您的应用在运行时联系后端服务器来验证购买有效性,您的服务器可以基于缓存的详情验证购买,以便最大程度减少 Purchase Status API 的使用并为用户提供尽可能快的响应(和最佳体验)。
  • 将订阅过期信息存储在您的服务器上 — 您的服务器应使用 Purchase Status API 查询新订阅令牌的过期日期,然后将此日期存储在本地。 这样一来,您可以在过期日期当天或之后检查订阅的状态(参见下文)。
  • 仅在过期当天查询订阅状态 — 一旦服务器检索到订阅令牌的过期日期,在订阅达到或超过过期日期之前,它不应再次查询 Google Play 服务器来了解订阅状态。 一般情况下,您的服务器每天会运行一个批次查询来查看即将过期订阅的状态,然后更新数据库。 请注意:
    • 您的服务器每天不应查询所有订阅。
    • 您的服务器绝不能根据 Android 应用的各个请求动态查询订阅状态。

按照上面的这些指导原则操作,您的实现将为用户提供绝佳的性能。

配额

对于使用 Google Play Developer API 的应用来说,初始免费配额被限制为每天 200,000 次请求(每款应用) 。此配额应当可以满足发布 Activity 和正常的订阅验证需求。

如果您需要为自己的应用请求更高的配额,请使用 Google Developers Console 中 Quotas 窗格上的“Request more”链接。