App Clip,你需要知道

相关信息:

Developing a Great App Clip

Creating an App Clip

 

背景

创建一个App Clip(应用剪辑),让没有安装完整应用程序的用户可以使用你的应用程序的一些功能。

app clip是应用程序的一个轻量级版本,可以随时随地为用户提供一些功能。以用户从app Store下载的一个咖啡店应用为例:它允许用户在设备上点一杯饮料,保存喜欢的饮料,收集奖励,获得特别优惠,等等。
相比之下,app剪辑只提供了点饮料的功能。当用户经过咖啡店时,系统会在用户的设备上显示Siri的位置建议。用户点击建议,在系统提供的app clip卡上确认app clip启动,立即使用app clip点一杯饮料。

用户通过执行调用找到一个应用程序剪辑;例如,点击Siri提示中的位置提示,或者扫描一个NFC标签。app clip会即时启动,帮助用户尽可能快地执行日常任务,并且只会在用户需要的时候停留在设备上。
当用户安装app clip对应的app时,完整的app会替换app clip。从现在开始,每次调用都会启动完整的应用程序而不是应用程序剪辑,用户会在完整的应用程序中获得应用剪辑的功能。如果用户没有安装完整的应用程序,系统会在一段时间的不活动后自动删除应用剪辑。
再次以咖啡店的app clip为例:用户使用后,app clip会向用户推荐相应的应用,用户就会下载该应用。下次当用户看到基于位置的建议并点击它时,他们就会启动完整的应用,而不是app clip。如果他们没有安装完整的应用程序,点击建议继续启动应用程序剪辑。

概述

在你的Xcode项目中,你的应用剪辑是一个额外的目标,它与你的应用的目标共享代码和资产。你的app clip也可以访问与整个app相同的框架。例如,你的app clip可以请求访问摄像头,在本地密钥链中存储敏感数据,连接蓝牙设备等等。

然而,应用程序剪辑在保护用户隐私和保存资源方面存在局限性。在你确定你的应用程序的哪些功能可以成为一个好的应用程序剪辑之前,先回顾一下应用程序剪辑可用的技术。

请注意

你的完整的应用程序可以有一个应用剪辑,在应用剪辑的功能必须完全支持在整个应用程序。

理解用户如何启动应用程序剪辑

用户通过执行以下调用之一来启动app剪辑:


扫描一个物理位置的NFC标签或可视代码
点击Siri建议中的基于位置的建议
点击地图应用中的链接
点击网站上的智能应用程序横幅
点击别人在消息应用程序中分享的链接

当用户调用应用程序剪辑时,系统首先验证该应用程序剪辑的元数据及其关联的调用URL。然后,它使用URL来确定在app clip card上显示哪些元数据,这是一个在调用时显示的表单。应用剪辑卡提供了额外的信息,并提供了一个按钮,用户可以点击这个按钮来启动应用剪辑。
当用户启动应用程序剪辑时,系统将URL传递给它。在启动时,app clip访问URL并解析它来提取信息,然后使用这些信息来更新它的用户界面。

提供良好的用户体验

应用程序剪辑不会出现在主屏幕上,用户也不会像管理完整的应用程序那样管理它们。相反,系统会在一段时间不活动后从设备上删除一个应用程序剪辑。因此,对于你的应用程序剪辑来说,提供完美的用户体验是非常重要的。
应用剪辑避免了复杂的界面元素,如标签栏或复杂的表单,以提供一个线性的、集中的用户体验。当应用程序剪辑需要人们执行更复杂的任务时,他们会使用降低复杂性的技术。例如,应用程序剪辑可以提供Apple Pay来支付服务和商品,或者使用Apple的登录来避免复杂的注册表单。
有关设计指南,请参见人机界面指南

应用剪辑大小限制

应用程序剪辑必须很小——不超过10 mb——以提供即时启动。如果可能,保持你的应用剪辑低于这个限制。有关更多信息,请参见创建应用程序剪辑

 

关于现有的框架

应用剪辑使用了SwiftUI和UIKit,并且可以使用与完整应用相同的框架。但是,以下框架不能用于应用剪辑:CallKit, CareKit, CloudKit, HealthKit, HomeKit, ResearchKit, SensorKit和Speech。
在app剪辑中使用这些框架不会导致编译时错误,但它们的api会在运行时返回显示不可用、空数据或错误代码的值。例如,当你从一个应用剪辑中调用HealthKit的isHealthDataAvailable()时,它会返回false。

保护用户隐私

应用剪辑可能会显示广告,并推荐使用SKOverlay或SKStoreProductViewController的其他应用。然而,限制应用跟踪总是启用在应用剪辑,以保护用户的隐私,防止用户跟踪应用程序和应用剪辑。
App剪辑不能通过AppTrackingTransparency请求授权来跟踪用户,name和identifierForVendor都返回一个空字符串。此外,应用剪辑不能执行后台活动,比如在应用剪辑不使用时使用URLSession进行后台联网或维护蓝牙连接。App剪辑也不能请求连续的位置访问。但是,他们可能会请求使用时授权,该授权会在第二天凌晨4点自动重置。
为了保护用户数据,app剪辑无法访问:
运动和健康数据
苹果音乐与媒体
来自联系人、文件、信息、提醒和照片等应用程序的数据
除了对应的完整应用程序之外,应用程序剪辑不能与任何其他应用程序共享数据。更多信息,请参见应用程序剪辑对应应用程序的数据共享。

为你的整个应用保留一些功能

应用剪辑提供即时体验,专注于为日常任务提供最快的解决方案,因此一些功能将在您的完整应用中发挥最好的作用。
高级网络功能,如Bonjour,或配置本地Wi-Fi网络
应用程序扩展
自定义和设置;例如,创建设置包
数据切换和文件打开
应用内购买和支付卡的预置
低级Unix功能;例如,BSD通知
iPad上的多场景
注册自定义URL方案
请求用户对应用程序的评论,使用StoreKit的requestReview(in:)方法
搜索已配对的蓝牙设备

 

posted @ 2020-06-28 15:33  甘林梦  阅读(1241)  评论(0编辑  收藏  举报