版本记录
版本号 | 时间 |
---|---|
V1.0 | 2020.11.18 星期三 |
前言
App Clips
是2020
年WWDC
新推出的功能,它的功能非常强大,因为它使没有您的应用程序的用户仍可以使用其功能。 从订购咖啡到停车,App Clips
有很多很好的用途。 下面我们就一起学习和看一下。
Overview
对web server
进行更改,识别invocation URL
,并在App Store Connect
中配App Clip
体验以启用调用。
当你创建一个App Clip
时,你需要通过你的网站将App Clip
和整个App相关联。这使得系统能够验证你的应用剪辑。此外,您需要决定您希望在App Clip
中支持哪些调用(invocations)
,App Clip
如何利用调用url
,以及它如何响应它们。当你创建App Clip experiences
使你的App Clip
对于用户可用时,你的决定会影响到你需要在App Store Connect中做的配置。
详细的可以参考 Apple’s documentation on Configuring Your App Clip’s Launch Experience 或者 其他更多文档。
Review How Users Launch an App Clip
用户不会在App Store
中搜索App Clip
。相反,他们会在需要的时候和地点发现它,并通过执行以下调用之一来启动App Clip
:
- 扫描一个物理位置的
NFC
标签或可视代码 - 点击
Siri Suggestions
中的基于位置的建议 - 点击
Maps
应用中的链接 - 点击网站上的
Smart App Banner
- 点击某人在
Messages
应用中分享的链接(仅限文本消息)
请注意
点击一个有人以
SMS
形式分享的链接,就会在Safari
中打开App Clip
的调用URL
。还需要注意的是,用户可以通过在Safari
或SFSafariViewController
中点击网站上的Smart App Banner
来启动App Clip
。
无论你在App Clip
中支持哪一种调用,你都必须在App Store Connect
中配置一个默认的App Clip experience
,并提供系统在App Clip card
上显示的元数据。根据你想要你的App Clip
支持的调用,你可能还需要配置高级App Clip
体验。
重要:
当用户安装一个
App Clip
对应的App时,整个App会替换该App Clip
。从那一刻起,每次调用都会启动整个应用程序,而不是App Clip
。因此,你的完整App
必须处理所有调用,并提供App Clip
的功能。
Make Changes to Your Server
在系统显示App Clip card
或允许调用App Clip
之前,它验证App Clip
的配置和调用URL
。如果系统无法执行验证,它不会显示App Clip card
,用户也无法启动App Clip
。要让系统验证你的App Clip
,你需要对你的web服务器做一些更改。
首先,向服务器添加Apple App Site Association
文件,如 Supporting Associated Domains中所述。接下来,使用文件的appclips
键为App Clip
添加一个条目。如果您之前向服务器中添加了Apple App Site Association
文件,请将appclips
键的条目添加到现有文件中。
下面的代码显示了要添加的内容。注意apps
键的值是一个只有一个条目的数组——App Clip
的App
标识符。
{
"appclips": {
"apps": ["ABCED12345.com.example.MyApp.Clip"]
}
...
}
最后,在Xcode
中,确保你将你的网站域添加到你的应用程序和App Clip
target
的Associated Domains Entitlement
。
Add a Smart App Banner to Your Website
通过创建默认的App Clip experience
,您可以支持以下调用:
- 点击网站上的
Smart App Banner
- 点击某人在
Messages
应用中分享的链接(仅限文本消息)
此外,为了支持这两种调用,你需要在你的网站上添加一个Smart App Banner
,并提供你的App Clip
作为一个快速、本地的访客选择。如果你已经在你的网站上包含了一个Smart App Banner
,添加app-clip-bundle-id=appClipBundleID
属性到现有的meta
标签,并使用你的App Clip
的bundle
标识符作为它的值。
如果你不显示一个Smart App Banner
在网站上你与你的App Clip
,添加它包括以下HTML meta
标签:
用适当的值替换所有占位符。注意,meta
标签的content
属性包括App Clip
的app-clip-bundle-id
参数和app-id
参数。通过包含app-id
参数,你可以在运行iOS 13或更早版本的设备上启用Smart App Banner
以打开或推广完整的App。
你可以在你的网页上添加Smart App Banner
的横幅。始终记住,网页的域必须包括在你的App Clip
和你的完整应用的target
的Associated Domains Entitlement
。
为了响应来自Smart App Banner
的App Clip
或者完整应用的调用,检索在调用时显示Smart App Banner
的网站的URL
,并相应地更新App Clip
的界面。有关更多信息,请参见Responding to Invocations。
请注意
Smart App Banner
的应用参数属性的值对App Clip
是不可用的。
Compare Default and Advanced App Clip Experiences
对于一些App Clips
,配置默认的App Clip experience
并在其网站上添加Smart App Banner
可能已经符合他们的用例。但是,要考虑用户在何时何地使用你的应用程序,并确定适合你在App Clip
中提供的功能的其他调用。
配置高级App Clip experience
,如果:
- 你希望你的
App Clip
支持所有可能的调用,包括来自NFC
标签和可视代码的调用。 - 你需要将你的
App Clip
与一个物理位置相关联。 - 你正在为多个企业创建一个
App Clip
使用。
Configure a Default App Clip Experience
App Clip
始终需要相应的完整应用程序,并且您将App Clip
作为完整应用程序的一部分提交给App Store Connect
。 将完整的应用程序上载到App Store Connect
之后,您需要配置默认的App Clip experience
。 导航至该页面以获取新的应用程序版本,展开App Clip
部分,然后为App Clip card
提供以下元数据:
- 标题图片
-
App Clip card
子标题的副本 - 用户点击
Action
按钮上显示的号召性用语启动App Clip
为了获得默认的App Clip
体验,启动时可用的调用URL是与App Clip
关联的网站以及显示Smart App Banner
的所有网站的URL。 然后,在您的App Clip
的代码中,您可以访问启动App Clip
的网页的URL。
Configure Advanced App Clip Experiences
为了支持其他调用(例如,通过扫描NFC
标签或可视代码),请在App Store Connect
中创建高级App Clip
体验。这要求您为高级App Clip experience
注册一个调用URL。如果您使用的URL具有不同的域,请通过向Xcode
项目中的app
和App Clip
target
的Associated Domains Entitlement
中添加适当的域条目来授权注册的URL。然后,在您的App Clip
和完整应用程序的代码中,响应您注册的URL。
如果您的App Clip
提供与实际位置相关的功能,请将高级App Clip
体验与实际位置相关联。通过点按Maps
应用中的链接并点按Siri Suggestions
中基于位置的建议,可以启用调用。
有关更多信息,请参阅App Store Connect
帮助中的Set Up an App Clip Experience。
Identify URLs for Your App Clip to Support
每次调用都包含系统用来验证App Clip
的真实性并启动App Clip
的调用URL。启动后,系统会将URL传递到您的App Clip
。因为快速启动和完善的启动体验对于使用App Clip
至关重要,所以请特别考虑如何配置调用URL以及App Clip
如何响应调用。
您需要注册的URL
数量取决于您的用例。如果您不想在Safari
中支持Smart App Banner
以外的调用,并且不想与用户在Messages
应用程序中共享的链接一起使用,则可能无需创建高级App Clip experience
。例如,位于一个位置的咖啡店只能配置默认的App Clip
体验,并将其App Clip
与其在https://example.com
上的网站相关联。要启动App Clip
,其网站在https://example.com/menu、https://example.com/contact、https://example.com/menu/breakfast、https://example.com/menu/lunch
等网站会显示Smart App Banner
。启动后,App Clip
会接收网站的URL作为调用URL,并在App Clip
中显示匹配的功能,例如,餐馆的菜单或联系页面。
如果要支持其他调用(例如,从Maps
应用程序中调用),请在App Store Connect
中配置高级App Clip
体验。再次考虑一下咖啡店的App Clip
:它将与https://example.com
一起使用默认的App Clip
体验,因为这是它与应用程序剪辑相关联的域。此外,它将使用https://example.com
的一种高级App Clip
体验作为其调用URL,并将高级App Clip
体验与实际位置相关联。在其代码中,App Clip
处理来自Maps
应用程序的调用,就像处理来自Smart App Banners
和Messages
应用程序的调用一样。
通常,请尝试注册尽可能少的URL,并注册尽可能通用的URL,因为在调用时,系统会将调用URL与您作为高级App Clip
体验的一部分注册的URL进行匹配。然后,系统使用具有最特定匹配前缀的URL
选择App Clip
体验。这意味着您可以注册一个URL,以涵盖许多情况。记住前面关于咖啡店的示例。通过使用https://example.com
,可以覆盖以下网址:https://example.com/menu、https://example.com/contact、https://example.com/menu/breakfast、https: //example.com/menu/lunch
,依此类推。
但是,如果企业有多个物理位置,则可以为一个或多个物理位置配置高级App Clip
体验,并为每个位置使用不同的标头图像,元数据和调用URL。例如https://example.com/location1、https://example.com/location2
等。
Support Multiple Domains
在某些情况下,例如,如果您的App Clip
服务于多个业务,则您可能希望将Smart App Banner
添加到其中每个站点都有其域的多个网站。 为了支持此用例,请为每个显示Smart App Banner
的网站创建单独的高级App Clip experience
。 此外,请记住将每个域都添加到App Clip
和相应完整应用程序的Associated Domains Entitlement中。
然后,当用户从企业网站上的横幅广告启动App Clip
时,系统会显示App Clip card
,以提供高级App Clip
体验。 如果仅配置默认的App Clip
体验,则从Smart App Banner
中启动App Clip
会显示默认的App Clip
体验的App Clip
卡。
See Also
1. Creation
- Creating an App Clip with Xcode
- Fruta: Building a Feature-Rich App with SwiftUI
- Parent Application Identifiers Entitlement
- com.apple.developer.on-demand-install-capable
后记
本篇主要讲述了
App Clips
的基本概览,感兴趣的给个赞或者关注~~~