App Clips详细解析(一) —— 基本概览(一)

版本记录

版本号 时间
V1.0 2020.11.18 星期三

前言

App Clips2020WWDC新推出的功能,它的功能非常强大,因为它使没有您的应用程序的用户仍可以使用其功能。 从订购咖啡到停车,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。还需要注意的是,用户可以通过在SafariSFSafariViewController中点击网站上的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 ClipApp标识符。

{
    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
    ...
} 

最后,在Xcode中,确保你将你的网站域添加到你的应用程序和App Clip targetAssociated 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 Clipbundle标识符作为它的值。

如果你不显示一个Smart App Banner在网站上你与你的App Clip,添加它包括以下HTML meta标签:


用适当的值替换所有占位符。注意,meta标签的content属性包括App Clipapp-clip-bundle-id参数和app-id参数。通过包含app-id参数,你可以在运行iOS 13或更早版本的设备上启用Smart App Banner以打开或推广完整的App。

你可以在你的网页上添加Smart App Banner的横幅。始终记住,网页的域必须包括在你的App Clip和你的完整应用的targetAssociated Domains Entitlement

为了响应来自Smart App BannerApp 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项目中的appApp Clip targetAssociated 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 BannersMessages应用程序的调用一样。

通常,请尝试注册尽可能少的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的基本概览,感兴趣的给个赞或者关注~~~

你可能感兴趣的:(App Clips详细解析(一) —— 基本概览(一))