WWDC 2018 —自动化应用商店连接— 303

摘要:了解一些应用商店连接api。 用户邀请工作流程。 处理关系。 使用Apple服务器验证呼叫。

最佳实务

  • 保护您的私钥-保留在内存中
  • 重用令牌-有效期由我们控制
  • 使用api响应中存在的链接-它确保代码可动态适应未来的变化

App Store Connect API

  • 基于标准的—具有JSON响应的基于REST的API。
  • 安全-使用JWT(JSON Web令牌)
  • 一致-单一统一资源模型,链接到相关信息
  • 已记录-API已在同一developer.apple.com中记录

此版本中包含什么

  • TestFlight —管理测试人员和组,提交以供审查,公共链接
  • 用户和角色-添加和删除用户-分配角色-管理有限的应用访问权限
  • 设置-添加开发设备,注册捆绑包ID,创建证书,管理配置文件
  • 报告-下载销售和财务报告,轻松从Reporter切换
  • 传输器更改-Linux支持,API令牌

使用API​​的

基于REST的标准网址格式:host / api_version / resource_type / identifier?filter [attribute_name] = atrribute_value

API示例:


-http : //api.appstoreconnect.apple.com/v1/users/17cbd794-94a3-c7b0-1051-http ://api.appstoreconnect.apple.com/v1/users?filter [ email]= john - appleseed@ mac.com

支持的方法:

  + --------------------------------------- + -------- + 
| 获取资源或资源列表| GET |
| 创建资源| 发布|
| 更改资源| 补丁|
| 删除资源| 删除
+ --------------------------------------- + -------- +

请求和响应的资源模型:

错误模型


标准用户生命周期

  • 发送邀请给用户— POST / v1 / userInvitations
  • 用户按照现有方式接受邀请。
  • 更改用户角色-PATCH / v1 / users / 24e811a2–2ad0–46e4-b632
  • 删除用户-DELETE / v1 / users / 24e811a2–2ad0–46e4-b632

处理关系

由于API基于REST,因此我们需要一个可用于处理关系的URL。 因此,任何可以具有关系的对象在响应中都有一个表示该关系的URL。

添加/修改/删除测试器: 密钥/ v1 / betaGroups / 55099ada-d790–4db1-bea5 / relationships / betaTesters中的url代表ID为55099ada-d790–4db1-bea5的betaGroup具有betaTesters。

获取测试人员: 相关密钥/ v1 / betaGroups / 55099ada-d790–4db1-bea5 / betaTesters中的url代表id为55099ada-d790–4db1-bea5的betaGroup具有betaTesters。

获取测试人员及其数据:在URL中添加?include = betaTesters


访问和认证

创建API密钥 -登录到App Store连接,管理员用户可以看到一个新标签。

密钥只能下载一次并在点击时生成,而不是由Apple存储,必须由您管理,并且密钥永不过期

生成JSON Web令牌

  + ------------------------------------------------- --------- + 
| 生成令牌所需的内容 |
+ ----------------- + ---------------------------- +- --------- +
| 领域 价值| 用法
+ ----------------- + ---------------------------- +- --------- +
| 发行人编号| 在App Store Connect中找到| 您的团队|
| 私钥ID | 在App Store Connect中找到| 此键|
| 到期时间| 过期时间戳| <= 20分钟|
| 观众| “ appstoreconnect-v1” | 常数|
| 算法| “ ES256” | 常数|
+ ----------------- + ---------------------------- +- --------- +

存在许多JWT库来生成令牌

使用API​​发送令牌


下一个:

转到目录

Previous:使用Xcode和LLDB进行高级调试— 412