App Store Connect的新特性(WWDC 2018 session 301 303)

2024-04-26 02:48

本文主要是介绍App Store Connect的新特性(WWDC 2018 session 301 303),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

WWDC 2018 session 301: what’s new in App Store Connect
WWDC 2018 session 303: Automating App Store Connect
苹果把名字iTunes Connect修改为App Store Connect

引言

这两个session主要讲的是苹果对App Store Connect所做的改进。首先看一下下面的图,应用程序的生命周期通常是同设计开始,然后进行编码,最终上架App Store,之后分析应用在App Store上的表现。现在更具体地说,我们将关注图中高亮的几个关键步骤。
image

1.配置(Provisioning)

现在大部分的开发者都通过Xcode自动管理配置。但还是有少数人有特殊需求需要登录Apple Developer网站进行配置。今年夏天,通过App Store Connect API(API相关内容,会在本文后续讲到),可以直接生成配置文件、创建和销毁签名证书、管理设备和应用包ID。

2.管理用户

在这个周期的早起阶段除了考虑配置以外,还可能考虑管理用户。App Store Connect API将支持邀请新用户加入App Store Connect,修改用户可以看到的应用,管理用户角色以及更新用户个人信息。
如果说你不想使用API来简化你的管理体验。我们同样优化了在Web端管理用户的体验。现在如果要管理用户,需要登录App Store Connect和Apple Developer两个网站。但这个夏天开始,只需要去一个地方就好了,那就是App Store Connect。进入App Store Connect,你能够在一组角色的上下文中考虑全部用户。而且所有的Apple ID只需要通过一个账号管理。

3.发版

配置好了、用户也管理好了,接下来自然而然就到了构建。构建成功后,就可以发版了。现在我们很多人都用Transporter(命令行)工具来上传App Store。我们知道有很多开发者使用linux做持续集成,所以今年夏天Transporter工具支持linux系统了。用法与Mac上的用法完全一致。

4.公测(TestFlight)

当我们构建了一些版本之后,我们就可以对他进行公测了。我们对TestFlight进行了一些优化。目前如果要邀请某些用户进行公测的话,需要该用户提供邮箱。他们提供邮箱之后,就会收到邀请的邮件。打开邮件,进入TestFlight,安装公测包。但如果有很多公测用户,那就太麻烦了。并且如果该用户没有邮箱,那么也无法邀请。所以现在我们提供了TestFlight公开链接
公开链接是一个唯一的网址,表示对公测版应用的公开的邀请。可以分享到任何地方。任何人都可以成为公测用户。如果你发送到了社交平台,并且有人感兴趣的话,点击链接,安装应用即可成为公测用户,使用起来非常更简单。只需要在TestFlight页面新建一个组,就可以在顶部看到公开链接了。公开链接最多支持1万公测用户,如果不需要那么多,可以设置更小的上限值。当然还可以随时禁用公开链接。禁用后如果有人打开公开链接,则会提示他们该公测版已不再接受任何新的测试人员。
通过App Store Connect API可以创建TestFlight用户组、给组添加构建版本、管理公开链接、添加和移除公测用户、更新测试信息的操作。

5.分析(Analysis)

当发布了某个应用的某个版本之后,是时候看看用户时如何回应我们的应用程序了。所以我们首先要看的是销量和趋势。而App Store Connect推出了更详尽的销售和趋势页面的展示。我们都知道通过Reporter工具可以下载销售和财务报告。现在同样可以用过App Store Connect API来下载销售和财务报告。

iOS上的App Store Connect

我们不可能无时无刻对着电脑Web端的App Store Connect。所以我们来继续谈谈全新的移动端的体验。

  • 更全面、可配置的数据分析
  • 切换Apple ID账号
  • 收到评分、评论后推送到手机(可设置评分等级)
  • App审核状态的推送也增加了开关
  • 提交审核及审核被拒回复

6.付费订阅

关于付费应用的免费试用,可以通过两个方式来实现。

  1. 提供免费试用,过了免费期就不能使用了
  2. 解锁付费内容,例如常见的付费去广告等
    需要注意的是,要注意和遵守一些原则。首先请确保用户能看到是试用版。接来下,需要用户非常清楚他们正在注册的内容。因此,请确保他们知道试用期还有多长,以及如果他们决定不再使用,那么试用后将不再提供哪些功能和内容。

7.关于审核的tips

  • 确保填写的联系人信息正确并有效,方便能联系到你
  • 提供试用账号和密码
  • 尽可能多谢一些注释
  • 在截屏中展示真实的应用截图
  • 使用相机、相册等权限时要解释为什么要使用

8.App Store Connect API

App Store Connect API是基于JWT(JSON Web token)的标准RESTful API。App Store Connect API具备跨平台性以及拥有完整的使用说明文档,同时使用起来非常熟悉、简单。通过该API我们可以自动化的去管理几乎所有App Store相关的内容。

使用App Store Connect API

首先我们来看一下App Store Connect API都能做什么。

  • 管理证书、管理配置文件、管理设备和安装包ID
  • 管理用户、设置用户角色以及app的访问权限
  • 管理TestFlight、公测用户以及公开链接
  • 下载财务和销售报告
    App Store Connect API是以https://api.appstoreconnect.apple.com作为基础的域名,后面接上版本号,目前的版本号都是v1。版本号后面接的就是各个接口了。如果苹果提交了新的版本,那么我们需要更新接口,但苹果会给我们一段时间进行过度。

授权App Store Connect API

在使用App Store Connect API之前,你必须要做一个大任务——生成token。如果没有token,那么就无法的导向响应。我们知道App Store Connect具有非常敏感的信息,所以App Store Connect API必须要非常的安全,同时还要保证只能访问我们自己的应用程序,而不是其他的应用程序。苹果使用JWT(JSON Web Token标准)在App Store Connect和您的终端设备之间建立连接。为了访问token,我们必须从App Store Connect网站上创建一个私钥。

生成API密钥

为了生成API密钥,我们需要登录App Store Connect网站并点击API Key选项卡,来创建新的API密钥。我们可以为特定的目的来创建API密钥,也可以创建可以访问所有App Store Connect API密钥。

下载私钥

生成API密钥之后,我们将获得一个ISSUER_ID和一个私钥。在处理私钥时,有一些注意事项。

  • 私钥只能从App Store Connect上下载一次。我们必须确保下载后的安全性。
  • 私钥永远不会过去并且只要它有效就可以工作,即使它已经被泄漏了。所以如果您认为您的私钥被泄漏,请尽快从App Store Connect上撤销它。
    私钥通常采用.p8格式。

生成token

如上所述,JWT用于生成App Store Connect API使用的token。生成token的过程需要遵守以下六个事项。

  • 颁发者ID(Issuer ID):App Store Connect顶部展示的ID
  • 私钥ID(Private Key ID):与App Store Connect上私钥相关联的ID
  • 有效期:最长20分钟,token超过20分钟即无效,因此我们必须确保在有效期到达时创建新的token
  • 受众(Audience):这是常量,API版本值通常为applestoreconnect-v1
  • 算法(Algorithm):这是生成token(例如ES256)所需的JWT算法
    明白了所有注意事项后,我们将能够使用您首选的脚本语言生成JWT token。JWT几乎可以在包括Swift在内的所有语言中使用,但使用Ruby或者Python等动态或解释语言生成JWT会更快。这是WWDC演示中使用的Ruby脚本。
require "base64"
require "jwt"ISSUER_ID = "YOUR_ISSUER_ID"
KEY_ID = "YOUR PRIVATE KEY ID"private_key = OpenSSL::PKey.read(File.read(path_to_your_private_key/AuthKey_#{KEY_ID}.p8))token = JWT.encode({iss: ISSUER_ID,exp: Time.now.to_i + 20 * 60,aud: "appstoreconnect-v1"},private_key,"ES256",header_fields={kid: KEY_ID })
puts token

我们可以将此文件保存为jwt.rb。需要安装JWT ruby环境。替换ISSUER_IDKEY_ID的值,就可以了。

$ ruby jwt.rb

这将返回一个可以访问App Store Connect API的长token,如果我们想在20分钟之后继续使用API,我们还需要生成另外一个token。

使用token

现在我们已经料及如何生成可以访问App Store Connect API的token,我们就可以通过传递授权标头来使用他。例如获取所有的用户列表

$ curl  https://api.appstoreconnect.apple.com/v1/users --Header "Authorization: Bearer lOOOOOOOOOOOONG_GENERATED_TOKEN"

这将列出App Store Connect的所有用户。请记住,我们必须对每个请求都使用这个token,但我们必须要在失效后创建新的token。

使用App Store Connect API

获取用户数据

如果我们想要获取所有用户的列表,就可以发送一个GET请求

GET api.appstoreconnect.apple.com/v1/users

这将返回App Store Connect上所有的用户,我们可以得到某个用户ID后获取该用户的信息。

GET api.appstoreconnect.apple.com/v1/users/XYZ123455
邀请用户

在App Store Connect上创建用户需要通过邮件邀请。然后用户接受并加入开发团队。我们可以这样邀请用户

$ > POST /v1/userInvitations{"data": {"type": "userInvitations", "attributes": {"firstname": "Shashi","lastname": "Jagtap","email": "shashikant.jagtap@opple.com","role": [ADMIN],"allAppsVisible": true}}}

请注意,我们子啊请求中的类型是userInvitations。我们看到了如果查询就用GET、创建就用POST、修改信息用PATCH、删除用DELETE(删除后返回状态码204代表删除成功,查不到信息了)。

注意事项
  • 由于私钥很重要,所以我们要保护它
  • token有效时间为20分钟,因为我们添加自动脚本策略应该以18分钟后续订token,以便我们可以重复使用已有的token,并且不会有请求失败的风险
  • App Store Connect API会返回大量的链接,我们要学会善用这些链接
  • 一旦发布新版本,要记得尽快跟进

总结

App Store Connect的更新最重要的部分是App Store Connect API。而App Store Connect API提供了整个App Store Connect自动化的可能性。这将允许开发者在App Store Connect API之上编写工具并有效的使用他们。而现有的Fastlane等工具可能面临巨大的重构。

这篇关于App Store Connect的新特性(WWDC 2018 session 301 303)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/936513

相关文章

五大特性引领创新! 深度操作系统 deepin 25 Preview预览版发布

《五大特性引领创新!深度操作系统deepin25Preview预览版发布》今日,深度操作系统正式推出deepin25Preview版本,该版本集成了五大核心特性:磐石系统、全新DDE、Tr... 深度操作系统今日发布了 deepin 25 Preview,新版本囊括五大特性:磐石系统、全新 DDE、Tree

macOS怎么轻松更换App图标? Mac电脑图标更换指南

《macOS怎么轻松更换App图标?Mac电脑图标更换指南》想要给你的Mac电脑按照自己的喜好来更换App图标?其实非常简单,只需要两步就能搞定,下面我来详细讲解一下... 虽然 MACOS 的个性化定制选项已经「缩水」,不如早期版本那么丰富,www.chinasem.cn但我们仍然可以按照自己的喜好来更换

React实现原生APP切换效果

《React实现原生APP切换效果》最近需要使用Hybrid的方式开发一个APP,交互和原生APP相似并且需要IM通信,本文给大家介绍了使用React实现原生APP切换效果,文中通过代码示例讲解的非常... 目录背景需求概览技术栈实现步骤根据 react-router-dom 文档配置好路由添加过渡动画使用

MAVEN3.9.x中301问题及解决方法

《MAVEN3.9.x中301问题及解决方法》本文主要介绍了使用MAVEN3.9.x中301问题及解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录01、背景02、现象03、分析原因04、解决方案及验证05、结语本文主要是针对“构建加速”需求交

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

PostgreSQL核心功能特性与使用领域及场景分析

PostgreSQL有什么优点? 开源和免费 PostgreSQL是一个开源的数据库管理系统,可以免费使用和修改。这降低了企业的成本,并为开发者提供了一个活跃的社区和丰富的资源。 高度兼容 PostgreSQL支持多种操作系统(如Linux、Windows、macOS等)和编程语言(如C、C++、Java、Python、Ruby等),并提供了多种接口(如JDBC、ODBC、ADO.NET等

详解Tomcat 7的七大新特性和新增功能(1)

http://developer.51cto.com/art/201009/228537.htm http://tomcat.apache.org/tomcat-7.0-doc/index.html  Apache发布首个Tomcat 7版本已经发布了有一段时间了,Tomcat 7引入了许多新功能,并对现有功能进行了增强。很多文章列出了Tomcat 7的新功能,但大多数并没有详细解释它们

如何掌握面向对象编程的四大特性、Lambda 表达式及 I/O 流:全面指南

这里写目录标题 OOP语言的四大特性lambda输入/输出流(I/O流) OOP语言的四大特性 面向对象编程(OOP)是一种编程范式,它通过使用“对象”来组织代码。OOP 的四大特性是封装、继承、多态和抽象。这些特性帮助程序员更好地管理复杂的代码,使程序更易于理解和维护。 类-》实体的抽象类型 实体(属性,行为) -》 ADT(abstract data type) 属性-》成

Debugging Lua Project created in Cocos Code IDE creates “Waiting for debugger to connect” in Win-7

转自 I Installed Cocos Code IDE and created a new Lua Project. When Debugging the Project(F11) the game window pops up and gives me the message waiting for debugger to connect and then freezes. Also a