基于 App Store Connect API 实现的 What‘s New 多语言文案上传脚本(Python)

一. 现状及问题

会形成本文的直接原因是公司的 app 支持了十几种多语言,每次提交新版本审核都需要多次复制 what’s new 文案,贴到 App Store Connect 后台对应语言的版本信息内;非常的机械且繁琐。抱着锻炼脚本能力的心思,研究了一下苹果新出的 App Store Connect API,使用 python 写了一个小脚本。期间见识了苹果 API 文档之恶心,加之没有 google 到相关资料,所以想着水一篇文章,希望能帮助到有同样需求的小伙伴。欢迎拍砖。

二. 解决方案

正如 App Store Connect API 中所说,这是苹果官方开放的,可用于自动化执行部分 App Store Connect 操作的 API。而本次脚本使用到的只是 App Metadata 这一小块的功能。

其中文档中有说明,请求苹果的 API 需要用到 JSON Web Tokens (JWT),所以要提前生成 API Key 才能成功请求。至于生成的方法,在文档中有详细说明,照着一步步走就行。唯一需要注意的是, API Key 赋予的权限必须足够编辑 App Metadata。这一步得到的东西对应着代码中的三个变量:

  1. KEY_ID

  2. ISSUER_ID

  3. PATH_TO_KEY

脚本的整体逻辑也非常简单:

  • 代码生成 JWT (这一部分是 google 到的)
  • 从 Google Sheet 读取 What’s New 文案(因为我们使用 Google Sheet 存放每个版本的 What’s New 文案)
  • 按语言整理成 key = 语言,value = 对应语言 What’s New 的字典形式
  • 按语言发起 patch 请求,上传对应的 What’s New 文案

其中比较头疼的是对 App Store Connect 后台 metadata 概念的划分不够清晰导致的,加上文档又比较烂,很多东西都是一步一步自己试出来的。

最终的代码在 这里 ,我在里面都详细的写了注释,需要说明的是,本人也是 Python 半入门水平,所以使用的都是最简单直白的语法,大神轻拍。

三. 使用方式

需要先手动创建需要提交审核的版本(如 2.17.0),准备好 whats new 后,修改脚本中的 VERSION_NUMBER = 2.17.0 ;然后运行该脚本即可。

需要强调的是,该脚本主要演示的是 App Store Connect API 调用方式,至于其中的 Google Sheet 读取及 What’s New 整理都不是重点所在。

四. 展望

这里使用的只是 App Store Connect API 一小块的功能,解决了目前工作中版本发布的最大痛点。可以说只是苹果已开放功能的冰山一角,如果有想法,可以基于它写出一整套 App Store Connect 的全自动化脚本。当然,fastlane 已经做了类似的事情,但是它相对比较笨重,如果希望锻炼自己的脚本能力,同时实现一些比较轻量级的脚本的话,建议尝试使用该 API。

在实现该脚本的时候,google 到了 这个项目 ,尴尬的是,没搞懂这里封装的 API 该怎么使用,如果有弄明白的老铁,还望不吝赐教:pray:。

稀土掘金
我还没有学会写个人说明!
上一篇

15万左右买什么车好?广汽三菱奕歌综合表现出色

下一篇

快报!多燕瘦入驻品牌3.15官方直播间

你也可能喜欢

评论已经被关闭。

插入图片