前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >苹果小程序App Clips技术解析和展望

苹果小程序App Clips技术解析和展望

作者头像
nimomeng
发布2020-07-02 10:32:43
2.2K0
发布2020-07-02 10:32:43
举报

北京时间2020年6月23日,苹果在一年一度的WWDC上正式宣布了苹果官方“小程序” App Clips。本文带你来了解App Clips,分析其优缺点,并对前景做展望。

什么是App Clips

简单理解,就是苹果官方的“小程序”。 官方定义,App Clips是一个轻量级的、原生的、不需要管理和清理的App。

苹果为什么要做App Clips

App Store内生态不再繁荣

2008年7月11日,iPhone 3G发行并首次支持了App Store,自此开启了iOS平台上移动应用的时代。但是自15年至今,App Store上的移动应用数量增长率不断走低,甚至在18-19年出现了负增长现象(和苹果清理僵尸应用的策略有关)。

数据来源于www.statista.co

从图中可以看出,从15年App数量增长达21.41%之后,增长率一路走低,截止至最新数据增长率不足1%,iOS App市场繁荣不再,苹果生态略显疲态,未来会对相关收入造成影响。 下一次App Store,有可能是5G时代下的“重网络型”App的爆发,例如AR、VR应用。但至少不是现在,苹果不会对这种颓势坐视不管。

image

被Web App蚕食的低频场景和长尾需求

基于特定低频场景的需求,比如在餐馆点餐付费,长久以来并没有被苹果重视。类似的还有一些业务导向的小公司,没有实力和能力研发App来抓住移动互联网的风口,在微信小程序(或其他小程序)诞生之前,唯一的出路就是找个外包低成本、快速的开发一款Web App。 但是Web App的安全性、用户体验都还存在问题,因此这次Clips主要针对这种场景给出了优化。

image

可以感受一下,京东H5版本和京东Native版本,体验差的还是挺多的。

微信小程序对市场的教育

Clips从想法到技术方案多少都受到了这股来自东方的神秘力量的影响。毕竟小程序这个概念源自微信,也发扬自微信。 在国内,微信小程序可以说无处不在:餐馆点餐、租赁车辆、包括最近的高频应用“健康宝”/"健康码"。用户也逐渐习惯了低频需求用小程序而非下载App。

image

Clips的顶层设计

image

Clips的入口

根据WWDC 2020相关Session可以得知,Clips的入口包括:NFC、QR Code、Cips Code、自家部分App、Siri、Safari的Smart Banner,还有Notification。我将这几个入口总结为:场景化入口、自有流量入口、对外扩展接口三类。

场景化入口

场景化入口包括NFC、QR Code 和Clips Code。 在WWDC2020有这么一个场景,用户在停车场通过NFC直接呼叫Clips支付停车费,将车开走。值得注意的是,呼出Clips是在手机锁屏状态下进行的。

image

除了NFC之外,还支持通过相机扫描普通QR Code(就是二维码)和未来的Clips Code来进入Clips的方式。 指的一提的是,苹果公布的这个Clips Code长得跟微信小程序码。。。一言难尽。。。 有种同样用了摩斯密码,其中一种做成了射线,另一种做成了环。。。

image

这些入口有明显的场景特性,多用于在线下需要使用时触发并操作。

自有流量入口

其实Clips出来后很多人抱怨苹果不支持App内部跳Clips,这个是不准确的。其实苹果自家的Siri,地图及iMessage都支持打开Clips。

image

其实这三个App并非随便选出来的:苹果地图App代表O2O场景、iMessage代表社交场景、Siri代表了一种未来的主流交互(非UI-Based的交互)。 Notification也算是一种唤起方式,不过这个属于Clips内部唤起逻辑之一。

目前还没有资料表明,苹果会在第三方App开放打开Clips。

对外扩展入口 Smart Banner

目前对外扩展入口仅限于Smart Banner。对于Smart Banner不太了解的同学可以参考这里 如果想要启动Clips,需要将Smart Banner配置成如下格式

image

加入了Clips之后,Smart Banner的使用场景会更加丰富。加入App Clips之后,Smart Banner的链路转化效率会有明显提升,对比如下:

image

之前的Smart Banner必须要经过AppStore下载完成才能完成转化,操作步骤多(如果没登录AppStore账号的话还得登录一下),等待时间长,转化率不高; 集成了App Clips的Smart Banner可以在Clips层完成用户转化,等待时间短,用完即走,转化率高。如果用户想要体验完整版应用,还能自行完成到App的转化。提高了Smart Banner的利用率。

Clips的数据解析

WWDC内资料显示,Clips会对应一个特有的URL,通过访问对应网站JSON信息来判断是否可以打开Clips,以及解析哪些字段,来对打开的Clips做变量传递。这种交互逻辑适合于非Safari的Smart-Banner打开Clips,也称之为Default App Clip Experience。

要完成数据解析,需要同时在对应Web Server和App Clips分别做配置

image

Web Server

需要在网站的 apple-app-site-association file中,添加如下代码段:

代码语言:javascript
复制
{
    "appclips":{
        "apps":["ABCDE12345.example.fruta.Cilp"]
    },
    ...
}

如果之前有支持过Universal Link,那这个文件一定不陌生。

App Clips侧

在工程项目中需要添加对应domain信息

image

处理NSUserActivity,获取调用链接。 可以通过webPageUrl属性进获取。实例代码:

代码语言:javascript
复制
func respondTo(_ activity: NSUserActivity?) {
    // Guard against faulty data.
    guard activity != nil else { return }
    guard activity!.activityType != NSUserActivityTypeBrowsingWeb else { return }
    guard let incomingURL = activity?.webpageURL else { return }
    guard let components = NSURLComponents(url: incomingURL, resolvingAgainstBaseURL: true) else { return }
}

这里,为了更好的支持Clips,apple-app-site-association file本次还做了升级,支持订阅变量,具体可以参考WWDC2020:What's new in Universal Links

代码语言:javascript
复制
{
    "details":[{
        "appIDs":["ABCDE12345.com.example.resturant"],
"components":[{"/":"/$(lang)_$(regin)/$(food)/"}]
    }]
}
Clips的开发

Clips的开发可以说对iOS开发者来说非常友好,可以和平时开发App一样有UIView,可以弹ViewController,基本是和开发Native App相比没有什么区别(除了个别库不支持之外,比如CallKit)

  • 首先打开已有工程,新建一个名为App Clips的target

image

  • 之后将工程中需要放到Clips里的文件添加到新建的Clips的target中,例如

image

  • 最后,像修改主工程一样修改Clips Target下的入口文件即可,例如AppDelegate等。
  • 如果想要和主工程共享Asset,可以通过建立一个Asset文件,勾选之前建立的Clips Target即可

image

Clips -> App

在Clips中会存在入口,如果用户想要体验完全的功能,可以通过入口进入App Store对应App的下载流程,完成转化。

image

值得一提的是,如果想完成从Clips到App的转化,且不丢失任何数据,需要在Clips中使用shared data container而不是普通的standard data container,因为正常来说,Clips生命周期之后,数据会随之消失。

image

使用shared data container技术后Clips数据迁移步骤如下

  • Clips的数据记录在"Group container"中。
  • 通过Clips下载App,Clips消失,但是数据仍然在"Group Container"中
  • 打开App,完成数据从“Group Container”到App的迁移,“Group Container”被清理并移除。
App Clips的预加载和缓存机制

首先,官方对于App Clips的大小要求是"Thinning后不超过10MB"。这个也是为了实现所谓的“Instance App”概念。 其次,App Clips的启动会先弹出Clips卡片,包含了Clips的图片信息,标题,描述,AppStore地址等信息。在此卡片的弹出后即启动下载流程,使得用户点击Open的时候看起来像是“立刻打开”。

image

最后,App Clips使用后,对应内存和数据会进行清理(不使用Shared data container的情况下)。 但是官方还提到,如果某个App Cilps被反复打开,其数据的有效期会相应延长,并有可能永远不删除(像普通App一样)。

App Clips的技术优缺点(vs 微信小程序)

优点
  • 操作路径更短 NFC场景下,用户可以在锁屏下激活App Clips,打开小程序,使用Apple Pay完成下单,操作更便捷。 可以认为今年开始Apple强制要求App 引入Apple Pay是在为App Clips铺路,为了达到极致体验。
  • 用户体验更好 相信不少iOS微信小程序用户都遇到过小程序崩溃需要重新打开的情景。毕竟微信小程序的资源受限于微信App本身的资源大小。相比之下App Clips是亲儿子,这种限制即便有,未来也会在系统机制上进行照顾,相应的体验和未来的扩展性会好一些。
  • 场景会更丰富 相信未来Cilps的场景会不局限于App,流程和体验优化到一定程度会向手表、眼镜和其它IoT设备扩展。而微信小程序对这些设备的扩展取决于苹果是否能开放相应的API。
  • 开发友好 基于上一个章节的介绍,开发一个App Clips程序几乎不需要太多成本
缺点
  • 普及速度慢 这里的普及速度既包含App Clips应用本身的普及速度,也包括线下场景的推广。可以想象,Clips Code需要内置一个NFC芯片,成本跟微信小程序一个贴纸比会高很多。而且微信小程序在双端交互和体验一致,而App Clips只在iOS平台上。
  • 极致体验需要打通Apple账户,包括Sign In with Apple和Apple Pay。 相信在国内,这两项技术还是微信或者支付宝的天下,苹果很难撼动。
  • 苹果设备在国内的市场占有率不高,会阻碍App Clips的推广。

结论

从目前App Clips开放的接口和交互流程上来看,在手机App这个战场上,App Clips想要撼动微信小程序的地位基本不可能。

展望

对现有iOS App主流架构方式的影响

传统iOS App是以ViewController为中心的页面组织结构,未来为了更好的适配App Clips,需要更新为基于Router的页面打开/展示架构,统一基于URL来进行传参,和现有App Clips的参数解析逻辑相一致。

未来App Clips的使用场景

苹果技术向来是步步为营。这次App Clips的技术分别以之前的Universal Link、Sign with Apple和Apple Pay为基础。那App Clips又会成为哪些技术的基础?

Apple Watch

image

Apple Watch目前越做越大,可展示的信息越来越多,自Apple Watch Series3代以来已经独立于iPhone做数据下载和展示,且有非常强的移动属性,在Apple Watch上使用App Clips会变得非常便捷。 个人觉得目前在地图上集成App Clips可能就是在为这个场景铺路。 Apple Watch靠近NFC -> 启动 Clips -> 选择项目 -> Apple Pay付款,一切行云流水。

Apple Glass

image

据说Apple会在2021到2022年内退出Apple Glass,会带来新的应用交互。但是可以肯定一点的是,数据传输会是难点,因此大体量的App不适合初代的Apple Glass,这时候只有10MB大小的Cilps就很适合Glass。而且通过Glass访问Clips Code更加快捷(甚至都不需要打开相机应用或者NFC靠近,如果传感器可以识别Clips Code的话),到时候的交互就会变成: Apple Glass 识别 Clips Code -> 显示App Clips -> 基于Siri完成下单、登录、Apple Pay付款 一样简单便捷。 目前的Siri入口很可能就是在为Apple Glass铺路。

参考资料

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是App Clips
  • 苹果为什么要做App Clips
    • App Store内生态不再繁荣
      • 被Web App蚕食的低频场景和长尾需求
        • 微信小程序对市场的教育
        • Clips的顶层设计
          • Clips的入口
            • Clips的数据解析
              • Clips的开发
                • Clips -> App
                  • App Clips的预加载和缓存机制
                  • App Clips的技术优缺点(vs 微信小程序)
                    • 优点
                      • 缺点
                      • 结论
                      • 展望
                        • 对现有iOS App主流架构方式的影响
                          • 未来App Clips的使用场景
                          • 参考资料
                          相关产品与服务
                          语音识别
                          腾讯云语音识别(Automatic Speech Recognition,ASR)是将语音转化成文字的PaaS产品,为企业提供精准而极具性价比的识别服务。被微信、王者荣耀、腾讯视频等大量业务使用,适用于录音质检、会议实时转写、语音输入法等多个场景。
                          领券
                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档