今天标志着 iOS 和 iPadOS 16.4 beta 1 的发布,它支持网络推送和主屏幕网络应用程序的其他功能。

显示通知到达的 iPhone 锁屏

今天还带来了 Safari 16.4 的第一个测试版。这是一个巨大的版本,包含 WebKit 中超过 135 种功能——包括 RegExp 后视断言、导入地图、OffscreenCanvas、媒体查询范围语法、@property声明font-size-adjust性 Shadow DOM 等等。当 Safari 16.4 向公众发布时,我们将撰写有关这些新 WebKit 功能的所有内容。同时,您可以在Safari 16.4 beta 1 发行说明中阅读新功能和修复的完整列表。

但是,让我们将 Safari 放在一边,谈谈 iOS 和 iPadOS 上的主屏幕网络应用程序。

自第一款 iPhone 以来,用户可以将任何网站添加到他们的主屏幕——无论是宣传册网站、博客、报纸、在线商店、社交媒体平台、流媒体视频网站、生产力软件、用于创作艺术品的应用程序,或任何其他类型的网站。在过去十年中,iOS 和 iPadOS 上的 Safari 用户可以通过点击共享按钮打开共享菜单,然后点击“添加到主屏幕”来实现这一点。该网站的图标随后会出现在他们的主屏幕上,快速点击可让他们返回该网站。

Web 开发人员可以选择创建一个清单文件(其 display成员设置为standalonefullscreen)并将其与他们的网站一起提供。如果他们这样做,该网站将成为主屏幕网络应用程序。然后,当你点击它的图标时,网络应用程序会像 iOS 或 iPadOS 上的任何其他应用程序一样打开,而不是在浏览器中打开。您可以在App Switcher中查看其应用程序预览,与 Safari 或任何其他浏览器分开。

Web 应用程序的 Web 推送已添加到主屏幕

现在,在 iOS 和 iPadOS 16.4 beta 1 中,我们添加了对 Web 推送到主屏幕 Web 应用程序的支持。Web Push 使 Web 开发人员可以通过使用Push APINotifications APIService Workers一起工作来向他们的用户发送推送通知。

已添加到主屏幕的网络应用程序可以请求接收推送通知的权限,只要该请求是为了响应直接用户交互——例如点击网络应用程序提供的“订阅”按钮。然后 iOS 或 iPadOS 将提示用户授予网络应用程序发送通知的权限。一旦允许,用户可以在通知设置中管理每个网络应用程序的权限——就像 iPhone 和 iPad 上的任何其他应用程序一样。

来自 Web 应用程序的通知与来自其他应用程序的通知完全一样。它们显示在锁定屏幕、通知中心和配对的 Apple Watch 上。

这与去年秋天在 macOS Ventura 的Safari 16.1中添加的基于 W3C 标准的 Web 推送相同。如果您已使用行业最佳实践(例如使用功能检测而不是浏览器检测)为您的 Web 应用程序实施了基于标准的 Web 推送,它将自动在 iPhone 和 iPad 上运行。

iOS 和 iPadOS 上的网络推送使用相同的 Apple 推送通知服务,支持所有 Apple 设备上的本地推送。您无需成为 Apple Developer Program 的成员即可使用它。*.push.apple.com如果您可以控制服务器推送端点,请确保允许来自的 URL 。

要了解有关如何设置 Web 推送的更多信息,请阅读 webkit.org 上的文章Meet Web Push,或观看 WWDC22 会议视频Meet Web Push

重点支持

通知是一个强大的工具,但人们很容易陷入被太多通知淹没的境地。iPhone 和 iPad 上主屏幕网络应用程序的通知与Focus集成,允许用户精确配置何时何地接收它们。对于在多台 iOS 或 iPadOS 设备上将同一网络应用程序添加到主屏幕的用户,焦点模式会自动应用于所有设备。

徽章API

iOS 和 iPadOS 16.4 beta 1 上的主屏幕网络应用现在支持Badging API。就像 iOS 和 iPadOS 上的任何应用程序一样,网络应用程序现在可以设置它们的徽章数量。当用户在前台打开 Web 应用程序或当 Web 应用程序在后台处理推送事件时,两者都会更改计数——甚至在显示计数的权限被授予之前setAppBadgeclearAppBadge

在应用程序图标上显示徽章的授权方式与 iOS 和 iPadOS 上的其他应用程序完全相同。一旦用户授予允许通知的权限,主屏幕上的图标将立即显示当前徽章计数。然后,用户可以在通知设置中配置徽章权限,就像 iOS 或 iPadOS 上的任何其他应用程序一样。

清单编号

WebKit for iOS 和 iPadOS 16.4 beta 1 添加了对来自 Web Application Manifest 标准的id成员的支持。它是一个字符串(以 URL 的形式),充当 Web 应用程序的唯一标识符,旨在由操作系统以任何所需的方式使用。iOS 和 iPadOS 使用清单 ID 来跨多个设备同步Focus设置。

iOS 从一开始就支持同一个网络应用的多次安装。我们相信人们能够在他们的设备上多次安装任何 Web 应用程序的能力是有用的——提供额外的灵活性来支持多个帐户、单独的工作与个人使用等等。

将网络应用程序添加到主屏幕时,用户可以更改应用程序的名称。iOS 和 iPadOS 16.4 beta 1 将此名称与 Manifest ID 结合起来以唯一标识 Web 应用程序。这样一来,用户就可以在一台设备上安装该网络应用程序的多个副本,并赋予它们不同的身份。例如,来自“闪亮(个人)”的通知可以被 Focus 静音,而来自“闪亮(工作)”的通知可以被允许。如果用户在多台设备上为他们喜爱的网站命名,则一台设备上的 Focus 设置将同步并应用于其他设备。

第三方浏览器支持添加到主屏幕

在 iOS 和 iPadOS 16.4 beta 1 中,第三方浏览器现在可以为用户提供从“共享”菜单将网站和网络应用程序添加到主屏幕的功能。

iOS 和 iPadOS 上的应用程序通过创建一个UIActivityViewController包含activityItems. 要将“添加到主屏幕”包含在共享菜单中,必须满足以下条件:

  1. 该应用程序具有com.apple.developer.web-browser托管授权
  2. WKWebView 包含在数组中activityItems
  3. WKWebView 正在显示带有 HTTP 或 HTTPS URL 的文档
  4. 如果设备是 iPad,则不得将其配置为共享 iPad

如上所述,在用户添加到主屏幕后,任何带有清单文件的网站都会将成员设置displaystandalonefullscreen将在用户点击其图标时作为 Web 应用程序打开。无论哪个浏览器将网站添加到主屏幕都是如此。

如果没有配置清单文件来请求 Web 应用程序行为(并且没有meta标记站点为支持 Web 应用程序的标签),则该网站将保存为主屏幕书签。从 iOS 和 iPadOS 16.4 beta 1 开始,主屏幕书签现在将在用户当前的默认浏览器中打开。

新的后备图标

Web 开发人员通常会在整个浏览器界面中提供图标来代表他们的网站。如果未提供主屏幕图标,以前的 iOS 和 iPadOS 会根据网站的屏幕截图创建一个图标。现在,iOS 和 iPadOS 16.4 beta 1 将使用网站名称的第一个字母以及网站的颜色来创建和显示字母组合图标。

要提供用于您的网站或 Web 应用程序的图标,请在清单文件中列出图标-自 iOS 和 iPadOS 15.4 以来一直支持的功能。或者您可以使用长期支持的apple-touch-icons在 HTML 文档中列出的技术head。(如果两者都执行,apple-touch-icon将优先于 Manifest 声明的图标。)

用于 Web 应用程序的新 Web API

除了 Web Push、Badging API 和 Manifest ID 之外,Webkit for iOS 和 iPadOS 16.4 beta 1 中的许多其他新功能对于专注于主屏幕 Web 应用程序的 Web 应用程序开发人员特别感兴趣。这些包括:

有关功能的完整列表,请参阅Safari 16.4 beta 1的发行说明。

反馈

你看到一个错误吗?这在测试版中是可以预期的。请在 iOS 和 iPadOS 16.4 向公众发布之前,通过提供来自您的 iPhone 或 iPad 的反馈,帮助我们解决此类问题。反馈助手将收集所有需要的信息来帮助我们了解正在发生的事情。

另外,我们很高兴收到您的来信。您可以通过@jensimmons@front-end.social@bradeeoh@mastodon.social@jondavis@mastodon.social在 Mastodon 上找到我们。或者向@webkit发送推文,分享您对这些新功能的看法。

iOS 和 iPadOS 上 Web 应用程序的 Web 推送
标签: