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等工具可能面临巨大的重构。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 要将Ionic应用上传到App Store,首先要创建一个有效的开发者账号。你可以前往苹果的开发者网站或使用Xcode进行注册与创建账号。注册成功后,登录到苹果开发者网站,并进入App Store Connect。 在App Store Connect中,你需要创建一个新的App Store记录来描述你的Ionic应用。在创建记录时,你需要填写App的名称、版本号、支持的设备、类别等信息。 接下来,你需要为你的应用生成一个存储证书,以便在App Store上签名和发布你的应用。你可以使用Xcode的自动化工具来生成这个证书。完成这一步之后,你需要在App Store Connect中上传应用的元数据和预览图像,这些信息将在App Store中展示给用户。 当所有的元数据和预览图像都上传完成后,你可以创建一个App Store上的App版本。在创建版本时,你需要指定版本号、构建版本号、发布日期等信息。然后,你需要上传通过Ionic构建的应用文件。这个应用文件可以通过在终端中运行`ionic build ios`命令来生成。 上传应用文件后,你需要设置应用的定价和可用性。在App Store Connect中,你可以选择免费或付费等不同的定价策略,并指定应用可以在哪些国家/地区上架。你还可以选择是否提供订阅或应用内购买等功能。 最后,你需要进行一些验证和审核的步骤。苹果公司会对你的应用进行审核以确保符合他们的指南和规定。一旦审核通过,你的Ionic应用将可以在App Store上下载和安装了。 上传Ionic应用App Store可能会涉及到一些额外的细节和步骤,但以上是基本的流程和步骤。希望这些信息能够对你有所帮助。 ### 回答2: 将Ionic应用程序上传到App Store需要按照以下步骤进行: 1. 注册开发者账号:首先,你需要在Apple的开发者网站上注册一个开发者账号。这可能需要支付一笔费用,具体金额取决于你选择的开发者计划。 2. 准备应用程序:在将应用程序上传到App Store之前,确保应用程序在各个方面都符合苹果的规定和要求。检查应用程序是否具备良好的用户体验、功能稳定性和合规性。 3. 创建应用程序标识符:在Apple开发者中心创建应用程序标识符。这是一个唯一标识你的应用程序的字符串。确保将此标识符与你的Ionic应用程序代码中的Bundle Identifier字段匹配。 4. 生成证书:为了将应用程序提交到App Store,你需要创建一个分发证书。你可以使用Apple开发者中心的证书工具来创建和下载证书。 5. 生成描述文件:描述文件将与你的应用程序一起上传到App Store。你需要为你的应用程序创建合适的描述文件,以便苹果能够验证你的应用程序并将其分发给用户。 6. 使用Xcode构建应用程序:使用Xcode打开你的Ionic项目,并构建应用程序。你可以选择使用Xcode的GUI界面或通过命令行运行构建命令。 7. 配置应用程序信息:在Xcode中,配置应用程序的一些信息,比如名称、图标、版本号等。确保正确填写这些信息,以便在App Store上展示正确的应用程序信息。 8. 运行验证:在将应用程序上传到App Store之前,可以在Xcode中运行验证工具,以确保应用程序符合苹果的规定和要求。 9. 上传到App Store:完成所有准备工作后,你可以使用Xcode将构建好的应用程序上传到App Store。在上传过程中,你需要提供描述文件和证书。 10. 提交应用程序审核:一旦应用程序上传成功,你需要登录App Store Connect,并提交应用程序以进行审核。审核通常需要一段时间,取决于苹果的审核队列长度。 上传到App Store是一个相对复杂的过程,但按照上述步骤逐步进行,你应该能够成功将你的Ionic应用程序提交到App Store并分发给用户。 ### 回答3: 将Ionic应用程序上传到App Store需要经过以下几个步骤: 1. 注册为苹果开发者:首先,您需要在苹果开发者中心注册一个开发者账号。注册成功后,您将获得一个开发者身份和相关证书。 2. 创建Provisioning Profile:接下来,您需要创建一个Provisioning Profile,并关联到您的应用。这个文件将与您的应用一起安装到用户设备上,并确保应用在设备上运行正常。 3. 生成应用存档文件:然后,您需要使用Ionic的命令行界面或相关工具生成一个应用存档文件(.ipa文件)。存档文件包含了您的应用的所有代码和资源文件。 4. 使用Xcode进行上传:使用苹果的开发工具Xcode,您可以选择将应用存档文件上传到App Store。在Xcode中,打开"Organizer",选择“Archives”选项卡,然后选择您的应用的存档文件。点击"Validate"验证应用是否符合App Store的要求,并修复任何错误。然后,点击"Submit"提交您的应用。 5. 等待审核和发布:一旦您的应用提交成功,苹果将进行审核。审核时间通常需要几天到几周不等。如果您的应用通过审核,您将收到一封电子邮件通知。在此后,您的应用将在App Store上发布。 需要注意的是,为了成功上传应用App Store,您必须确保您的应用符合Apple的规定和要求,并且具备完整的功能和优质的用户体验。此外,您还应注意遵循规范、正确设置应用的名称、描述和其他相关信息,以便吸引用户并提高应用的可见度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值