- 原文地址: Publishing private apps just got easier
- 原文作者: Jon Markoff
- 译文出自: 掘金翻译计划
- 本文永久链接: github.com/xitu/gold-m…
- 译者: Qiuk17
- 校对者: PeachChou , xiaxiayang
来自插图 Virginia Poltrack
不论你的团队拥有 5 个还是 100 个 App,你总能找到帮你管理 Play Store 列表的自动化工具。 Google Play 允许你通过其开发者 API 来管理你的 Play Store 列表、打包好的 APK 等。2017 年 1 月的时候,Google 从 Twitter 收购了名为 Fabric 的开发者套件,其中包含了可以自动化截图、管理测试版部署、签名并将 App 推送到 Play Store 的 fastlane 。
除此之外, 私有 App 发布 API 允许拥有管理权限的 Google Play 用户在跳过 最低版本检查 的情况下创建并发布私有的 App。 Managed Google Play 是为企业版 Android 用户提供私有应用程序支持的应用商店。 私有 App 只会被分发给内部用户而不会被大众获取。私有 App 的部署可以在被创建后的几分钟内完成。 Jan Piotrowski 向 fastlane 提出的这个 pull request ,让零代码部署 App 成为可能。对此特性的请求历史可以在 这里 看到。如果想要更多了解 Managed Google Play 和 Google Play 项目,请看看这篇 博客 。
这为什么很重要 :私有 App 发布 API 或者 fastlane 大大简化了迁移到 Managed Google Play 的流程,并且可以方便地被集成到 CI 工具中。
配置私有 App 功能
重要 :在创建用于调试或产品的 keystore 时,请确保使用最佳的 app 签名方式 。千万别丢失您用于生产的 keystore!因为一旦你将它应用于 Google Play 上的某一个 App ID(包括私有 App),你将永远不能在不创建新的应用程序列表及修改其 App ID 的情况下更换 keystore。
推荐 :利用 Google Play App Signing 来为你的 APK 文件签名。这是保管的 keystore 的一个好方法。你可以在 这里 看到此方法的细节。
重要 :在 Google Play 上的所有 App(包括私有 App)必须具有一个唯一的且不可重用的 App ID。
在发布你的私有 App 之前,你只需要三步。
跟着这篇 指导说明 进行如下三步:
- 在 Cloud API 控制台中启用 Google Play 的 私有 App 发布 API;
- 创建一个服务账户,并下载其 JSON 格式的私钥;
- 启用私有 App 功能。
配置 fastlane
- 请阅读这篇 文档 来安装 fastlane 。其中包含了 Managed Google Play 支持。
启用私有 App — 获取你的开发者账户 ID
这篇 指南 将告诉你如何创建一个需要通过 OAuth 回调来获取开发者账户 ID 的私有 App。有两种方法来启用私有 App 功能:使用 fastlane 或者使用 API。下面将向你展示如何使用这两种方法并比较其复杂程度:
使用 fastlane — 非常简单
> fastlane run get_managed_play_store_publishing_rights
复制代码
样例输出:
[13:20:46]: To obtain publishing rights for custom apps on Managed Play Store, open the following URL and log in:
[13:20:46]: https://play.google.com/apps/publish/delegatePrivateApp?service_account=SERVICE-ACCOUNT-EMAIL.iam.gserviceaccount.com&continueUrl=https://fastlane.github.io/managed_google_play-callback/callback.html
[13:20:46]: ([Cmd/Ctrl] + [Left click] lets you open this URL in many consoles/terminals/shells)
[13:20:46]: After successful login you will be redirected to a page which outputs some information that is required for usage of the `create_app_on_managed_play_store` action.
复制代码
把这个链接粘贴到你的浏览器中你就可以向这个 Managed Google Play 的账户所有者发起授权请求了。
使用 API — 有点复杂
如果 你不打算为了管理你的 App 做一个基于 Web 的前端页面,你可以使用下面的 node 脚本以及 Firebase 的功能来快速获取你的开发者账户 ID。如果你不在意跳转的 URL(continueUrl)的话,你可以把它设置成类似于 foo.bar 这样的假 URL。但是出于安全的考虑,这么做是不被推荐的。