什么是App Clips
苹果在 WWDC2020 上发布了App Clip,它提供了一种“即时使用”的方式,让用户可以在特定时间、特定场景,在不下载完整 app 的前提下,体验到 app 的核心功能。
App Clips是一种新的,原生的应用形式。和传统的App形式相比,它追求尽可能的轻量,简单,快速响应。简单来说,App Clips就是App本身的“极度精简版”。
App Clips通过最简化的方式,为用户提供了一个体验应用程序的入口;有媒体叫做“苹果小程序”。虽然 Clip 在产品理念上和小程序有相似之处,但是在技术实现层面确是截然不同的东西。
App Clips Experence

你现在在经过一个冰沙摊。你想要来一份冷冰沙。这时,你发现了一个带有标语的 NFC 标签,上面写着“贴近此处订购”。你按照提示将手机贴近了 NFC 标签,之后在你的 iPhone 屏幕的底部会弹出一个卡片,上面写着购买沙冰的一些简短说明,而这个卡片即是我们要介绍的 App Clip。当你按照卡片的提示,点击了上面的“打开”按钮后,将在手机上启动 App Clip 的订购处理,这个处理会将你直接带到冰沙的订购页面。之后,你通过 Apple Pay 完成支付,成功买到了冰沙。
例如最近受疫情影响,出入公司或是公众场所都需要出示“健康码”,但每次有人告诉我要出示时,我都需要提前下载好支某宝,启动,搜索健康码,点击进入小程序,点击展示健康码才能加载一个想要的二维码图片,整套流程下来十分让人着急烦躁。假设iOS14之后,支某宝支持了健康码的App Clips,用户直接将iPhone靠近某个NFC或者扫个码,就可以马上唤起对应的App Clips,直达健康码页面,体验变得十分畅快。
再比如支付停车费用的时候或者扫码开共享单车时候,一般都是打开微信or支付宝,扫码、付款,强烈依赖第三方程序,App Clip可以为用户提供最佳的即刻(in the moment)体验。
产品特性
-
立即可用(in-the-moment experience)
作为用户来说,使用前我不需要手动去商店搜索、安装App Clips;使用后我不需要去关心什么时候卸载它以节省存储空间。这些都由iOS系统自动帮你管理:当一个App Clips经常被使用时,系统会将其保留,甚至通过Siri提高它的曝光率,让其更容易被找到和使用;当它一段时间没被访问时,系统就会将App Clips和它产生的数据一并删除。
-
触手可及(fast) Clips 使用一段 URL 标识自己,格式遵从 universal link。因为苹果对 Clips 的使用场景非常明确,所以在 Clips 的调起方式做了严格限制。Clips 的调用只能是用户主动要发起才能访问,所以不存在用户在某个 app 里不小心点了一个按钮,就跳转下载了 Clips。
-
专注必要任务(focused)
App Clips核心思想是:发起一次使用流程就只专注做一件事情。App Clips本质是通过Deep Links进入,因此可以通过URL携带足够的导航信息,直达目标页面,从而抛弃掉Tabbar等一些多余的UI元素和页面导航过程。
-
用完即走(lightweight、native)
因为 Clips 的大小被限制在了 10MB 以下,在当下的网络状态下,可以实现快速的打开。为了给用户使用非常轻松的感觉,在 UI 上不会体现“安装”这样的字眼,而是直接“打开”。预期的场景下用户打开 Clips 和打开一个网页类似。因此在用户的视角里就不存在软件的安装、卸载。
Clip 的生命周期由操作系统全权接管。如果 Clip 用户一段时间后没有使用,操作系统就会自动清除掉 Clip,Clip 里存储的数据也会被一并清除。因此虽然 Clip 提供了存储的能力,但是程序不应该依赖存储的数据,只能把存储当做 cache 来使用,操作系统可能自动清除缓存的数据。
开发者可以在App Clip的视图中嵌入SKOverlay。苹果建议当用户在App Clip中完成相关任务后展示SKOverlay,这样可以较好的引导用户,比如可以将其放置在用户的付款确认界面之后。
App Clips 可视为为主应用程序导流的又一新途径,不仅仅是在使用过程中给出下载主应用的建议,一旦设备下载安装了主应用程序,之前 App Clips 得到的权限授权以及数据都将一并移入到新下载的主应用中
如何唤起App Clips

- 二维码:直接扫描二维码触发。

- NFC标签:靠近NFC设备触发。

- Safari Links:通过点击Safari中的出现的横幅触发。

- Messages Links:系统的Messages应用中,可以展示App Clips的卡片,点击可触发。

- Maps: 系统地图应用中,提供了和地理位置相关的App Clips快捷入口,点击可触发。

- App Clip Codes

不同于当下二维码样式的百花齐放,苹果希望使用固定、统一的样式,让用户一看到这个样式就能认出是App Clip Code,就知道应该怎么去使用它。App Clip的服务提供者也应该将App Clip Code放在显眼和可触达的位置,方便用户直接靠近触发NFC,或者不方便接近的时候直接扫码。
实现方式和发布
native 代码、native 框架、native app 一样的分发,主应用程序和其关联的 App Clip 提交到 App Store 之后,两者就被分开存储,独立存在。假设用户通过上面某种途径打开「体验」链接,设备上没有安装主应用程序,那么系统就会下载 App Clip 到设备上,接着会被唤起调用;否则主应用程序总是第一选择,实际上用户一旦安装了主应用程序,系统就会移除掉 App Clip,因此请牢记一点:主应用程序也必须有处理 App Clip 体验链接的代码,否则一旦用户安装了主应用程序(此时 App Clip 会被系统移除),再识别体验链接时就会跳转至主应用程序进行处理,此时若未相关处理,就只是打开应用程序而已了;
横向对比
-
小程序
小程序的概念在当下并不新鲜,微信,支付宝等大厂应用都在推小程序,其生态也越来越健壮,在功能和使用上已经渗透到人们生活的方方面面。但是,这并不意味着App Clips没有用武之地;相反,由于App Clips可以脱离主体存在,不需要先启动主体App才能间接打开,本身又拥有原生体验和iOS系统级支持,App Clips势必会超越三方,成为体验最好、接受程度最高的“小程序”。App Clips和Web端相比,响应更快,操作更原生,体验更好。 App Clips可以实现一些Web端无法实现的功能,例如录制或编辑视频,连接蓝牙设备,AR中和3D场景交互等。
在系统的Messages应用里,当用户给朋友分享了一个包含Smart Banner的网页,系统会在对话框中展示一个被指向的App Clip的专属卡片,这就在Messages应用中提供了和Safari Smart Banner一样的App Clips入口。不仅如此,通过这种方式,用户可以很容易地通过Messages应用来和别人分享App Clips,会有更多人能发现、使用你的App Clips,甚至因此去下载完全版的App。
-
PWA
PWA是W3C 和谷歌就基于浏览器的能力,制定的一套协议,从制定出来,再到iOS设备上支持这个特性,几年就过去了。虽然谷歌希望有一套 web 标准可以运行在移动设备上,但是对于苹果的商业策略而言,这并不重要。在落实中遇到了很多现实的问题,技术支持的不好.
PWA 相当于把小程序里的代码直接下载到了本地,有了独立的 app 入口。运行的时候基于浏览器的能力。但是对于用户感受和原生 App 一样。
-
Instant Apps
18 年正式发布的 Android Instant apps中文被翻成“免安装应用”,在体验上也是希望用户能够最低成本的使用上 app,让用户感受不到安装这个步骤。但是 Instant apps 在国内没有产生任何影响。因为政策的原因,Google Play 不支持在国内市场使用。
国内的安卓应用市场也是鱼龙混杂,对于 Instant apps 也估计也没有统一支持。 两者的根本区别还是在定位上,Instant apps 提出的场景是提供一个 app 的试用版。因此场景是你已经到了 app 的下载页面,这个时候如果一个 app 几百兆你可能就放弃下载了,但是有一个极简的试用版,就会提高你使用 app 的可能。