你一定不知道的 AppStore 秘密

一、前言

对于 iOS 开发者来说 App Store 是必经之路,大家一定多多少少都会有了解。但 App Store 的功能之多,并且每年都有更新,比如上一篇文章我们讲到 《解读 AppStore 新功能:自定义产品页面和 A/B Test 工具》 ,所以本文对一些大家平时经常接触的功能,但可能忽视的一些细节进行解说,也会对一些平时大家很少接触的功能进行探索。可能不是最全的,但一定有你不知道的 App Store 秘密!

二、AppStore 秘密

我们的 SDK 包含 250,000 个 API,为您在 app 中构建高级功能提供了无限的可能性。过去 4 年发布的 iPhone 设备中 92% 都在运行 iOS 13,因此您可以放心地利用最新技术来交付功能。

来源:App Store - Apple Developer

  • 1 个生态系统。
  • 5 个平台。
  • 40 种语言。
  • 175 个地区。
  • 每周 5 亿访客。
  • 15 亿台 Apple 设备。

关于苹果 App Store 服务,大家最熟悉的包含有 App Store app、IAP(In App Purchase,应用内购买)、App 预订、App 评论搜索等。那么,我们一起来看看,有那些不为大家所知的秘密吧~

2.1 系统状态

比如上周五,苹果 App Store 出现故障,导致 无法连接 App Store,用户无法打开的问题:

16278113027218.jpg

针对以上这个情况,有没有办法可以提前预测呢?很遗憾告诉大家,目前苹果官方还没有提供实时的系统服务状态查询,在苹果官网的帮助可以查看到这样的 系统状态页面

16278220480870.jpg

从上图可以看到,Apple BooksiTunes Store 服务在 2016-04-26 时因一些不可抗拒的原因在中国内地中断至今。而 Apple Pay & Wallet 钱包功能出现服务中断:

2021-07-23 上午7:00 - 现在,部分用户受到影响,岭南通·羊城通的持卡人可能无法使用 Apple Pay 的部分功能。

16278279533989.jpg

从这个服务中断就可以看出来,苹果的这个系统状态通知,并不是实时的公告,而是有延迟,有时候是修复后才出通知公告。

关于系统状态页面,不同地区是不同的链接,小编整理常见的列表:

国家/地区 语言代号 链接
中国 zh_CN https://www.apple.com/cn/support/systemstatus/
美国 en_US https://www.apple.com/support/systemstatus/
中国香港 zh_HK https://www.apple.com/hk/support/systemstatus/
中国台湾 zh_TW https://www.apple.com/tw/support/systemstatus/
韩国 ko_KR https://www.apple.com/kr/support/systemstatus/
日本 ja_JP https://www.apple.com/jp/support/systemstatus/
新加坡 en_SG https://www.apple.com/sg/support/systemstatus/
俄罗斯 ru_RU https://www.apple.com/ru/support/systemstatus/
德国 de_DE https://www.apple.com/de/support/systemstatus/

从这里可以看到,每个国家或地区的链接中代码,那么这个语言代号可以从苹果 Choose Your Country or Region 网页的源代码中获取,这也是苹果目前支持的国家和地区。

以上是针对用户层面的服务,比如 App Store、iCloud 是否可用等,那么针对开发者来说,有没有苹果服务 API 的系统状态呢?其实也是有的。

开发者系统状态

16278329122934.jpg

从这个图片可出来,针对 App Store 的服务有很多,App Store ConnectApp Store SandboxApp Store Server NotificationsIn-App PurchasesApp Store Receipt Verification 等,从而可以看出这个页面的信息非常的重要!当然,这个目前苹果官方也没有实现的通知。比如这个:

Resolved Outage(已解决的中断)
Today, 12:58 AM - 1:07 AM
Some users were affected
Affected Services: App Store Connect, App Store Connect API, TestFlight
Users experienced a problem with this service.

16278329606100.jpg

因为这些服务目前是针对开发者服务,目前还没有分国家或地区的服务器,统一用这个 https://developer.apple.com/system-status/ 页面查看开发者系统状态。一般来说,当出现大面积的无法使用的服务时,可以通过查看状态确认是不是苹果服务器问题。比如,经常遇到苹果沙盒环境无法充值(App Store Sandbox)、线上用户无法充值(In-App PurchasesApp Store Receipt Verification),只能说,遇到问题时怀疑是苹果的服务问题,可以看看这个页面。但这个页面也不时实时刷新,出现大面积的无法使用,依然是看看大家(同行)或者新闻的消息。

注:为什么没有实时,我想是目前苹果的服务遍布全球,想要全盘实时通知,一方面是影响的时长,另一方面影响的范围,不是不可以,可能是需要时间?可以肯定苹果有内部系统报警,但如果遇到问题,马上通知开发者?评估影响时长和范围?还是应该马上修复?这里就不深入探讨,看看苹果未完待续。

既然苹果这样,那么我们来对比一下谷歌,看看有没有不一样的发现?首先是 Google 产品和服务的流量和中断记录 页面会显示:

image.png

上图可以看到谷歌服务的中断情况,网页中还有按国家、地区的筛选条件,这里就不展开了,大家想了解可以打开页面看看啊。

而谷歌常见服务出现故障甚至宕机时,在 Google Workspace 状态信息中心 页面可以查看:

16278341226786.jpg

页面底部有一个入口,Google Workspace 历史记录 可以查看某个服务的中断时间,影响时长等。相对于苹果的服务来说,还提供 RSS 和 JSON 历史记录接口,甚至是 帮助文档,显得更加完善和友好:

16278343347470.jpg

谷歌的系统状态查看服务有:Google WorkspaceGoogle Cloud Status DashboardFirebase Status DashboardGoogle Ads 等,页面风格统一。Google Play Store 的系统状态,小编没有找到入口;而谷歌系统状态信息的实时性暂时没有相关资料,有懂的朋友,可以在评论区一起交流哈~

从网上资料看,谷歌服务出现故障的情况好像不多,毕业谷歌有商业化的云服务,出故障是不可能的?而苹果,一般是服微软和亚马逊的云服务,而在中国的 iCloud 服务是用云上贵州,其它的服务暂时还是统一服务器?

当然,关于实时性,也有第三方的服务监听苹果和谷歌的服务。比如 DowndetectorGoogle Play not working? Google Workspace Status 。这里就不展开了,毕竟第三方也是监听,从最优方案当然是官方支持。

最后,一般做用户产品的 app 都会遇到用户反馈:如果您无法连接到 App Store、iTunes Store 或其他 Apple 服务,但是文档是发生问题后的解决方案,能不能优化一下减少出问题呢?关于服务系统状态查询,它的目的是什么?肯定不是出问题后,给大家通告一下就完事吧,而应该是向更高实时性提高!加油吧苹果!

2.2 App 订阅

苹果内购订阅是很常见的类型,比如音乐、视频类 app 的持续包月,以前可能用户在 app 里订阅后,以为是一次性或者想准备到期后在取消,然后就被自动扣费了。这一招现在支付宝和微信早就学会了。还有一个原因,是以前苹果的 App Store 账号管理在首页下滚到最底部,总之经过的步骤很复杂,一般小白用户很难找。

其实,关于管理 app 订阅,以前是可能通过 https://buy.itunes.apple.com/WebObjects/MZFinance.woa/wa/manageSubscriptions 链接打开 App Store 会自动显示用户的订阅信息界面,但一般开发者不会提供,甚至是开发者都不知道有这个链接。

现在,最新的 iOS 14 以后,App Store 用户账号很方便找到入口,在“帐户”,然后轻按“订阅”就可以管理订阅了。当然,如果开发者愿意引导用户打开订阅管理界面,可以用最新的这个苹果链接 https://apple.co/2Th4vqI。更多关于取消订阅可以参考 如何取消 Apple 提供的订阅 文档。

最后,苹果在 WWDC21 推出了在 app 里管理用户订阅项目的界面,不用在跳转到 App Store,具体可以翻看之前的文章 苹果内购 - WWDC21

2.3 App 链接

在 2019 年以前,苹果的 app 商店链接,一直都是 itunes.apple.com,举例来说是这样的:https://itunes.apple.com/cn/app/斗罗大陆-魂师对决/id1558453472。因为 iTuens 是苹果的音乐播放和管理的软件,iPhone 可以说是从 iPod 升级而来,关于 iTuens 这里就不多说,因为苹果已经弃用并且,并转移到 Apple Music 和 Apple 播客这两个 app 中,详细可以查看 iTunes - Apple

2019年6月14号,苹果宣布 AppStore 商店App下载地址从 itunes.apple.com 更换为 apps.apple.com。比如用 https://itunes.apple.com/cn/app/斗罗大陆-魂师对决/id1558453472 请求时,会自动跳转到 https://apps.apple.com/cn/app/斗罗大陆-魂师对决-腾讯动画正版授权/id1558453472。所以大家建议用新的链接,减少页面跳转。

当然,这个链接里有一个 cn 这个是国家或地区的标识,这个标识跟前文提到的是一样的。如果你的应用只上中国内地,那么就用 cn,用其它的也不影响中国内地账号用户访问,而其它地区的用户账号访问时会提示:目前您所在国家或地区尚不提供此App。而如果是选择全球所有的地区都发布,那么用什么地区标识都可以打开。

更进一步,不带地区也是可以,比如:https://apps.apple.com/app/斗罗大陆-魂师对决-腾讯动画正版授权/id1558453472,甚至带游戏名也不用带 https://apps.apple.com/app/id1558453472。不带这些参数的话,用电脑上打开显示 Connecting to the iTunes Store…,但是可以正常跳转到 App Store:

16279081060021.jpg

带所有的参数时,会显示 App Store 预览页面:

16279082639165.jpg

所以,关于 App 链接,最好的链接格式,应该是这样:https://apps.apple.com/cn/app/id1558453472。带有地区和 apple id 标识就可以了,游戏名可以不需要带上。

App Store 开发者页面

那么有一个问题,app 可以通过链接跳转到 App Store,那么可能通过链接跳转到 App Store 的开发者界面吗?

16279654329857.jpg

很显然是可以的!比如这个链接:https://apps.apple.com/cn/developer/khorgas-zhifan-network-technology-co-ltd/id1540746184,需要注意这个 id1540746184 是开发者账号的id,不是 app 的。那么问题来了,怎么获取这个开发者页面的链接呢?

16279656607309.jpg

答案就是,在浏览器打开开发者的某个 app 的预览页面,然后开发者名字那一栏,就是开发者页面的链接,复制一下就可以啦~

2.4 App 评论

在所有的 iOS 版本中,通过 app 链接拼接 action=write-review

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值