App Clips功能

App Clips概述

创建一个App Clip,使用户可以使用未安装应用程序的某些功能。App Clip是你应用程序的一个轻量级版本,无论何时何地你的App Clip都能够为用户提供一些功能。
当用户安装App Clip的相应完整应用程序时,完整应用程序将替换App Clip。从这一刻起,每次调用都会启动完整的应用程序,而不是App Clip,用户将获得完整应用程序中App Clip的功能。如果用户没有安装完整的应用程序,App Clip在一段时间不活动后系统会自动删除App Clip。

Developing a Great App Clip

在你的Xcode项目中,在你的应用程序中target需要新建一个你的App Clip,App Clip与你的主应用程序共享code和assets。你的app clip还可以使用与主应用程序的相同框架。例如,你的app clip可以请求访问摄像头、将敏感数据存储在本地keychain中、连接到蓝牙设备等等。
然而,App Clip在保护用户隐私和保存资源方面有一些限制。在确定你的应用程序的哪些功能可以制作出一个App Clip之前,请先让我们看一下App Clip可用的技术。

Note
主应用程序只能有一个App Clip,并且主应用程序中必须完全支持App Clip中的功能。

1. 用户如何启动App Clip

用户可以通过执行以下任何一个启动App Clip:
1.1. 扫描NFC Tag 或 Visual Code
1.2. 点击基于地理位置信息的Siri建议
1.3. 点击地图应用中的链接
1.4. 点击网站上App推荐条
1.5. 点击在消息应用中分享的链接


4.png

当用户启动App Clip时,系统首先验证App Clip的元数据以及其关联的URL。然后,系统利用URL来确定在app clip卡上显示的数据,即调用时显示的表。app clip卡提供附加信息,并显示一个Open按钮,用户点击该按钮即可启动app clip。
当用户启动app clip时,系统会将URL传递给app clip。启动后,app clip访问URL并对其进行解析以提取信息,然后根据这些信息更新其用户界面。

2. 提供良好的用户体验

App Clip不会出现在主屏幕上,用户也不会像管理完整应用程序那样管理它们。相反,App Clip在一段时间不活动后系统会自动删除App Clip。因此,你的App Clip提供一个优秀的用户体验。
App Clip避免了复杂的界面元素,如 tab bars或complex forms,以提供线性的,集中的用户体验。当App Clip需要人们执行更复杂的任务时,它们利用了降低复杂性的技术。

3. 保持你的App Clip包尽量小

App Clip包不超过10 MB,以提供即时启动。如果可能,请将你的App Cli保持在该限制以下。

4. 可用框架

App Clip使用了SwiftUI和UIKit,可以访问与主应用程序相同的框架。但是,以下框架对App Clip不可用:CallKit、CareKit、CloudKit、HealthKit、HomeKit、ResearchKit、SensorKit和Speech。
在app clip中使用这些框架都不会导致编译时错误,但是在运行时它们的api返回的值有不可用、空数据或错误codes。例如,当您从app clip调用HealthKit的isHealthDataAvailable()时,它将返回false。

5. 保护用户隐私

App Clip可以显示广告和推荐其他应用程序使用SKOverlay或SKStoreProductViewController。但是,限制应用程序始终在App Clip中启用,为了保护用户隐私并阻止用户在Apps和App Clip之间进行跟踪。

App clips无法请求授权使用AppTrackingTransparency跟踪用户,name和identifierForVendor都返回空字符串。此外,App clips不能执行后台任务,例如使用URLSession进行后台联网或在App clips不使用时保持蓝牙连接。App clips也不能请求连续的位置访问,但是,他们可以请求“使用时”授权,该授权将在第二天凌晨4:00自动重置。
为了保护用户数据,以下内容App clips不能访问:
5.1 运动与健康数据
5.2 苹果音乐以及视频
5.3 通讯录、文件、消息、提醒和照片
除了主应用外,App clip无法与任何其他的应用共享数据。有关详细信息,请参见Making Data Available to the App Clip’s Corresponding App。

6. 为你的主应用保留一些功能

App Clip提供了即时体验,并专注于为日常任务提供最快的解决方案,因此某些功能将在主应用程序中发挥最佳效果。为主应用保留以下功能(这些功能最好不要放到App Clip里面):

6.1 高级网络功能,如Bonjour,或配置本地Wi-Fi网络
6.2 App extensions (应用扩展)
6.3 自定义和设置;例如,创建设置捆绑包
6.4 数据移交和文件打开
6.5 应用内购买和应用内提供支付卡
6.6 低级Unix功能;例如,BSD通知
6.7 iPad上的多个场景
6.8 自定义URL Schemes
6.9 使用StoreKit的requestReview(in:)方法请求用户审阅应用程序
6.10 搜索配对的蓝牙设备

你可能感兴趣的:(App Clips功能)