大多数浏览器和
Developer App 均支持流媒体播放。
-
轻 App 的新功能
探索轻 App 的最新更新。我们将向你展示如何使用默认轻 App 链接,更轻松地构建轻 App。帮你了解如何利用增加的轻 App 大小限制来构建更丰富、更具吸引力的体验,以及如何从你的 App 直接启动轻 App。
章节
- 0:00 - Intro
- 1:00 - New size limit
- 2:17 - Default App Clip links
- 4:17 - Invoke from your app
- 5:42 - Wrap-up
资源
相关视频
WWDC20
-
下载
♪ ♪
Kevin:大家好 欢迎来到本次讲座 我是 Kevin 是 App Clips 团队的一名工程师 轻 App 是你 App 的轻量级版本 让用户无需下载和安装 就可以试用你的 App 功能
用户可通过设备上的链接 在整个系统中发现轻 App: 在消息中、在地图中的兴趣点、 在 Safari 浏览器、 Safari View Controller 以及聚焦搜索中 用户还可通过扫描 轻 App 码、二维码或 NFC 标签 在现实世界中发现轻 App
我们对轻 App 体验 做了三项新的改进: 新的大小限制 使用默认轻 App 链接 配置你的轻 App 的新方法 以及可直接 从你的 App 调用轻 App 首先 是新的大小限制 轻 App 要小 以确保即时的体验 特别是对那些可能正在途中的 用户 其可通过 NFC 标签 轻 App 码 或二维码调用你的轻 App 但轻 App 还有其他各种用例 比如 用户可能 处于一个快速家庭网络中 例如 参与某个游戏演示 或在线订购体验 为了在 iOS 17 中 实现更广泛的轻 App 体验 我很高兴地告诉大家 数值调用的新的大小限制 为 50MB 有了更多的可支配空间 你可构建更丰富的轻 App 体验 如果你想使用物理调用 比如通过 NFC 标签 或轻 App 码进行调用 你必须保留 iOS 16 中规定的 15 MB 限制 这是为了确保即使用户在途中 也能获得快速的用户体验
增加的大小限制 还可使你在轻 App 中 包含更多功能 你可能会在轻 App 运行时下载其他资源 有了这个新的大小限制 你可考虑捆绑更多此类资源 以在启动时获得更为沉浸式的体验
如果你的目标 是 iOS 15 或更早版本 原有的 10MB 大小限制仍适用 我们非常期待 看到你利用这个新的大小限制 创造出各种丰富的轻 App 体验 接着 是默认的轻 App 链接 轻 App 的调用 由通用链接提供支持 当用户与轻 App 交互时 你发布的轻 App 可为用户带来不同的体验
许多轻 App 只需要单一的轻 App 体验 这是默认的轻 App体验 也应是最常见的用例 其已包含你 App 的核心功能
为了使默认体验可被 iOS 识别 你必须提供 一个网站来托管相关的元数据 以便 Safari 浏览器可以识别轻 App 并允许通过 该网站的 URL 调用它 比如 Backyard Birds 的默认轻 App 体验 可使用此 URL 进行调用
有关配置你的 轻 App 体验的更多信息 请参阅 WWDC 2020 中的 “配置和链接你的轻 App” 默认轻 App 链接是你调用 默认轻 App 体验的新方法 当你在 App Store Connect 中 发布轻 App 时 Apple 会自动为你创建该 URL 通过默认轻 App 链接 你无需进行任何其他设置 就能调用你的默认体验 该功能支持 iOS 16.4 及以上的版本
生成的 URL 域名均为 appclip.apple.com 你的轻 App 的 bundle ID 将作为该 URL 的一个参数包含在内 你可将特定的 App 参数 填加到默认的轻 App 链接 URL 中 这些参数在启动时 可在你的轻 App 中检索到 比如 一个游戏演示轻 App 可能用一个参数 来决定用户从哪个角色开始
你可在轻 App 启动时 提供给你的 NSUserActivity 中 检索网页 URL 来实现这一点 这就和其它的轻 App 调用一样 一旦你获得了网页 URL 就可使用 NSURLComponents 解析相关的查询项 有了默认轻 App 链接 你可以比以往更容易地 让你的轻 App 运行起来 最后 从任意 App 调用轻 App 用户很喜欢能够从系统的 各处启动你的轻 App 现在我们很高兴能 在 iOS 17 中直接为你的 App 带来同样的出色功能 这带来了许多可能性 比如 人们无需离开 其选择的信息或导航 App 就可以进行点餐
从你的 App 调用轻 App 很简单 你可使用链接展示 API 生成可点击的丰富轻 App 预览 以允许调用轻 App 一旦你通过 LPMetadaProvider 请求获取了元数据 你就可将该数据传递给 LPLinkView 来渲染预览 如你希望你的 App 调用的体验 使用默认的轻 App 链接 你可直接调用该链接 在 SwiftUI 中 你可简单地使用 Link 视图 或可在你的 UIApplication 上 调用 open 方法 为了让你了解这是如何工作的 我将以 Notes 为例 从这里 我可以快速调用 Backyard Birds 的轻 App 我放了一个链接到 Backyard Birds 只需轻点 轻 App 卡片立即出现 我可以直接跳转到轻 App 所有这些都无需经过 Safari 浏览器 或 Safari View Controller
此链接行为可 从任意 App 跳转到任意轻 App 我迫不及待地想看到你的 App 中 包含什么样的轻 App 体验 利用增加的数据调用大小限制 创建更丰富、 更广泛的轻 App 体验
使用默认轻 App 链接 让你的轻 App 启动和运行得比以往更快 你可花时间为客户 精心设计出色的轻 App 体验 而不必花时间 调整你自己的网络端点 此外 直接从你的 App 中调用轻 App 为你的用户 提供更多探索轻 App 的机会 感谢你的观看 我们迫不及待想看到你构建的产品 ♪ ♪
-
-
3:53 - Parsing URL parameters as components
ContentView(parameters: $parameters) .onContinueUserActivity(NSUserActivityTypeBrowsingWeb, perform: { userActivity in guard let inputURL = userActivity.webpageURL else { return } let components = NSURLComponents(url: inputURL, resolvingAgainstBaseURL: true) guard let parameters = components?.queryItems else { return } self.parameters = parameters }
-
4:39 - Providing metadata to an LPLinkView
let provider = LPMetadataProvider() provider.startFetchingMetadata(for: url) { (metadata, error) in guard let metadata = metadata else { return } DispatchQueue.main.async { lpView.metadata = metadata } }
-
5:00 - Launching App Clips from a SwiftUI app
var body: some View { let appClipURL = URL( string: "https://appclip.apple.com/id?p=com.example.naturelab.backyardbirds.Clip" )! Link("Backyard Birds", destination: appClipURL) }
-
5:11 - Launching App Clips with UIApplication
func launchAppClip() { let appClipURL = URL( string: "https://appclip.apple.com/id?p=com.example.naturelab.backyardbirds.Clip" )! UIApplication.shared.open(appClipURL) }
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。