开发应用剪辑App Clip,iOS的小程序
快速启动的应用剪辑帮助用户干点啥
概览
应用剪辑是App的简化版,提供一些功能来帮助用户。
在Xcode里App Clip 需要增加一个target,可以和App共用代码和资源,也可以访问frameworks(某些不行,编译不会报错但用不了),包括访问相机、存储数据到钥匙串、连接蓝牙设备等等。
然而应用剪辑被限制某些功能,以保护用户隐私和资源。
注意
App只能有一个应用剪辑,并且要包含其所有功能
打开应用剪辑的几种方式:
- NFC近场通信或者扫描二维码
- 点击Siri Suggestions基于位置的建议
- 点击 Maps app里的连接
- 点击网站的 Smart App Banner
- 点击短信里别人分享的链接
当用户打开应用剪辑时,系统会验证元数据和关联的URL,然后把数据显示在应用剪辑卡片的弹窗上。应用剪辑卡片有个按钮,用户点击就可以打开应用剪辑。
应用剪辑打开后,通过解析系统传给它的URL来显示页面等
优化用户体验
- 主屏幕不会显示应用剪辑。用户用的时候自动安装应用剪辑,一段时间不用了系统删除。
- 因此必须给用户个好印象,体验要好。
- 要避免复杂的交互及页面设计,例如tab bars or 复杂的表格,尽量提供线性的、 focused用户体验。
- 可以用先进的技术处理复杂的任务,例如Apple Pay或者Sign in with Apple。
越小越好
为了保证启动快速,应用剪辑最大10 MB
看看哪些Frameworks可以用
App clips make use of SwiftUI and UIKit, and have access to the same frameworks as your full app.
不能用的Framework: CallKit, CareKit, CloudKit, HealthKit, HomeKit, ResearchKit, SensorKit, and Speech.
用了不可用的Framework也不会编译错误。而是api返回空、错误、或者不可用
For example, HealthKit’s isHealthDataAvailable returns false when you call it from an app clip.
保护用户隐私
- 应用剪辑可以用 SKOverlay or SKStoreProductViewController来显示广告或者推荐其他app. 但是 Limit App Tracking is always enabled
- 不能请求追踪授权,一些标识符也会返回空
- 不能进行后台请求任务
- 应用剪辑不用的时候,不能维持蓝牙连接
- 不能持续请求定位
- 定位授权会在第二天4点取消
为了保护用户数据,以下资源不能访问:
- 运动和健身数据
- Apple Music and Media
- Data from apps like 通讯录, Files, 短信, 提醒, and 照片
只能和主App共享数据
For more information, see Making Data Available to the App Clip’s Corresponding App.