SwiftUI AppClip 之01 开发AppClip应知应会

开发出色的应用程序剪辑

确定技术和其他因素,以帮助用户快速启动并使用您的应用程序剪辑来完成任务。

总览

应用程序剪辑是应用程序的轻量级版本,可在用户需要的位置和时间提供某些功能。在您的Xcode项目中,您的应用剪辑是与应用目标共享代码和资产的附加目标。您的应用程序剪辑还可以访问整个应用程序可用的相同框架。例如,您的应用程序剪辑可以请求访问摄像头,将敏感数据存储在本地钥匙串中,连接到蓝牙设备等等。

但是,应用程序剪辑具有局限性以保护用户隐私和保留资源。在确定哪种应用程序功能可以成为出色的应用程序剪辑之前,请先查看该应用程序剪辑可用的技术。

注意:您的完整应用程序可以只有一个应用程序剪辑,并且完整应用程序必须完全支持该应用程序剪辑中的功能。

了解用户如何启动应用剪辑

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

  • 在物理位置扫描NFC标签或可视代码
  • 利用Siri建议中的基于位置的建议
  • 在“地图”应用中点击链接
  • 在网站上点击智能应用横幅
  • 点击某人在“消息”应用中共享的链接
appclip

当用户调用应用剪辑时,系统首先验证应用剪辑的元数据及其关联的调用URL。然后,它使用URL确定在应用程序剪辑卡上显示哪些元数据,该元数据在调用时显示。应用程序剪辑卡提供了更多信息,并提供了用户点击以启动应用程序剪辑的按钮。

用户启动应用程序剪辑时,系统会将URL传递给它。启动后,应用程序剪辑将访问URL并对其进行解析以提取信息,然后使用该信息来更新其用户界面。

提供出色的用户体验

应用程序剪辑不会显示在主屏幕上,并且用户无法以管理完整应用程序的方式对其进行管理。相反,一段时间不活动后,系统会从设备中删除应用剪辑。因此,为您的应用剪辑提供出色的用户体验非常重要。

应用程序剪辑避免了复杂的界面元素(如标签栏或复杂的表单),从而提供了线性,集中的用户体验。在应用程序剪辑要求人们执行更复杂的任务的地方,他们利用降低复杂性的技术。例如,应用程序剪辑可能会向Apple Pay提供服务和商品付款,或者利用与Apple登录来避免复杂的注册表格。有关设计指南,请参见人机界面指南。

保持应用剪辑小巧

应用剪辑必须很小(不超过10 MB)才能提供即时启动。如果可能,将您的应用剪辑保持在此限制以下。有关更多信息,请参见创建应用剪辑。

查看可用框架

应用程序剪辑使用SwiftUI和UIKit,并且可以访问与完整应用程序相同的框架。但是,以下框架不适用于应用程序剪辑:CallKit,CareKit,CloudKit,HealthKit,HomeKit,ResearchKit,SensorKit和Speech。

在应用程序剪辑中使用这些框架中的任何一个都不会导致编译时错误,但是它们的API返回的值指示运行时不可用,空数据或错误代码。例如,当您从应用程序剪辑中调用HealthKit的isHealthDataAvailable()时,它会返回false。

保留用户隐私

应用片段可以使用SKOverlay或SKStoreProductViewController展示广告并推荐其他应用。但是,始终在应用程序剪辑中启用“限制应用程序跟踪”,以保护用户隐私并防止用户跨应用程序和应用程序剪辑进行跟踪。

应用剪辑无法通过AppTrackingTransparency请求授权来跟踪用户,并且name和identifierForVendor都返回一个空字符串。此外,应用程序剪辑无法执行后台活动,例如使用URLSession进行后台网络连接或在不使用应用程序剪辑时保持蓝牙连接。应用剪辑也无法请求连续的位置信息访问权限。但是,他们可能会要求使用中授权,该授权会在第二天凌晨4:00自动重置。

为了保护用户数据,应用片段无法访问:

  • 运动和健身数据
  • 苹果音乐与媒体
  • 来自通讯录,文件,消息,提醒和照片等应用程序的数据

除了相应的完整应用程序外,某个应用程序剪辑无法与任何其他应用程序共享数据。有关更多信息,请参阅使数据可用于应用剪辑的相应应用。

为您的完整应用程序保留一些功能

应用程序剪辑可提供即时的体验,并专注于为日常任务提供最快的解决方案,因此某些功能将在您的完整应用程序中发挥最佳作用。为完整的应用程序保留以下功能:

  • Bonjour等高级网络功能或本地Wi-Fi网络的配置
  • 应用程式额外资讯
  • 自定义和设置;例如,创建设置包
  • 资料移交和文件开启
  • 应用内购买和支付卡的应用内配置
  • 低级Unix功能;例如,BSD通知
  • iPad上的多个场景
  • 注册自定义URL方案
  • 使用StoreKit的requestReview(in :)方法请求用户对应用程序进行评论
  • 搜索配对的蓝牙设备

推荐

基础文章推荐

经典教程推荐

上新

技术源码推荐

推荐文章

CoreData篇

Combine篇

TextField篇

JSON文件篇


一篇文章系列

技术交流

QQ:3365059189
SwiftUI技术交流QQ群:518696470

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。