大多数浏览器和
Developer App 均支持流媒体播放。
-
打造出色的同播共享体验
了解如何设计并打造非凡的同播共享体验。我们将向您介绍如何识别您的 App 中的相关活动,这些活动可帮助身处各地的人们连结在一起。学习最佳实践以帮助您设计群组活动,构建直观的互动操作,并为不同的体验类型提供支持。
资源
相关视频
WWDC22
WWDC21
-
下载
♪ 柔和乐器演奏的嘻哈音乐 ♪ ♪ ♪ 悬疑风古典乐 ♪ Ryan Williams: 一个电话颠覆所有 Priya Shah:您准备好 这次演示需要的所有材料没? 因为我挂断电话之后 您就只能靠自己了 Ryan:没问题 演示不会费我吹灰之力 这本该是件轻而易举的事 我只要选一类很棒的 SharePlay 体验 来给我们的讲座开个头 我的搭档就能好好睡个觉 我缩小了“嫌疑人”范围 但我选不出来 我不得不轮流给我的队员打电话 以帮助我走出困境 首先 和 Adam 在健身房的测试训练 Adam:我在大喘气 我们总是低于平均值 Siri:波比跳 Adam:调用函数 重构代码 Siri:踢臀跑 Adam:点击“运行” 然后查看人们 开发了什么的时刻总是很美好 Siri:休息 Ryan:Adam 给我 带来了灵感和汗水 但我还要评估其它体验 所以我打电话给 Agnes 和 Gav 一起货比三家 虽然我很喜欢逛玩具市场 但我还没准备好投标 也许和 Justin 一起弹钢琴 会是我想要的 ♪ 忧郁的钢琴曲 ♪ 我的思路逐渐清晰 但我要再玩一局间谍游戏 Gav:哇 他进来了 Olivia:我们以为 Adam:您以为 Olivia:您可能是 压力太大了 Ryan:我妈没教过我 做个半途而废的人 开始游戏吧 玩游戏时 脑海深处某个灵感迸发 毕竟这是个很简单的案件 我一直在寻找一款 出色的 App 但实际上 我从不同 App 里 学到了一些东西 我也知道 这不是平时的演示形式 但请包涵一个时不时 就做点虚拟化的人 下面 如果您不介意的话 我要去处理下一个案件了 其他美好的体验仍有待解锁 ♪ 悬疑风古典乐 ♪
您好 我是 SharePlay 团队的工程师 Ryan 探索所有您创造的奇妙 SharePlay 体验 我们团队 从中获得很多乐趣 您的作品前所未有地 把人们聚集了起来 在过去的一年里 我们也学到了很多 关于如何给人们 提供良好的 SharePlay 体验 所以今天 我们将带您 了解如何在您的 App 中 设计并构建出色的 SharePlay 体验 我们将推荐把 SharePlay 作为连接人们的新方式 然后我们将探讨如何营造现场感 打破人与人之间的数字壁垒 并让人们感觉到 他们是处在同一个空间的 我们将介绍您可以在 您的 App 中设计的 不同类型的 SharePlay 体验 最后 我们会告诉您一些我们一路上 学到的提示和技巧 是关于如何让使用您 App 的人 获得无缝连接的体验 越来越多的人依赖 FaceTime 通话 和 iMessage 信息 来保持联系 我们用 iMessage 信息发 文字或图片 来互相联络 而用 FaceTime 时 我们通过音频和视频来相互联络
然而 人们共同拥有的 意义非凡的时刻 仅用对话是不够的 我们聚在一起时 更多的是 通过分享经历来共鸣 所以为了营造那种亲密感 我们开发了 SharePlay 只要采用 Group Activities 框架 您就可以在您的 App 中 用这种全新的方式来让他们参与 SharePlay 活动 互相联络 而怎么定义活动的概念 就变得尤为重要 正在 FaceTime 通话中 的某人开始一项活动时 SharePlay 会直接把 群组带入您的 App 您可以在 SharePlay 里创造 几乎所有类型的体验 一项活动真的可以是任何事情 比如一起做饭 一起弹钢琴 我们已经从您那看到了很多 有创意的活动示例 今年 我们专注于提升 核心 SharePlay 体验 使人们在您的 App 中 共享经历变得更方便 人们现在可以直接在您的 App 里启动 SharePlay 如果有人在您的 App 中发现 他想和朋友分享的绝佳内容 他可以选择跟谁一起体验该内容 并能够直接在您的 App 里 邀请他们加入 SharePlay 这种方式下 人们无需提前计划 不论什么时候他们有想法了 就可以马上和朋友一起分享经历 大家甚至可以在信息里启动 SharePlay 无需进行 FaceTime 通话 就能和朋友分享经历 我们相信人们会喜欢所有他们能 在您的 App 启动 SharePlay 新的方式 我们将在“SharePlay 中的新功能” 讲座中介绍如何应用那些新功能 而那个讲座里也只提到了 SharePlay 应用范围的冰山一角而已 不过我们认为如果您发挥您的创造力 来开发让人们关系更亲近的体验 SharePlay 的真正潜力才能充分体现 其中很重要的部分就是营造现场感 所以在探讨如何打造这类体验之前 我们要先了解与他人同在的意义 何在 以及如何做出 很棒的现场体验 并把这类体验放进您的 App 里 通常 数字通信工具是用于 不在场的时候 但 SharePlay 的情况不同 为了制造人与人之间有意义的时刻 我们需要找到让人们纷纷觉得 就在实际现场的方法 就像处在同一个物理空间一样 现在知道了营造这种现场感的技巧 可能在每种体验中都不同 但是我们可以用一个技巧 就是将您的 App 放进在现实世界中 使用的情况下进行思考 因此 下面是推荐您做的一个练习 将 SharePlay 想象成一个传送门 人们能通过手机来到同一个空间 如果他们真的线下聚在一起 他们会用您的 App 做什么? 如果这听着很异想天开 别担心 我们等下会介绍几个方法 您能用来 在您的 App 里营造这种现场感 我们一起来做这个练习 想象您给传送到一个房间里 房间里有个唱片机 每个人都能操作唱片机 他们可以播放自己喜欢的歌曲 开始播放后 房间里的其他人 也可以走到唱机前进行操作 他们可以把歌曲往向前调 也可以直接跳过这首歌 由此 可以得出我们需要 在 App 中提供大家 共同享有的播放控制权 实际上 我们不设置任何 限制是至关重要的 不要限制个体能够控制的权限 我们希望打造愉快的体验 让每个人都觉得自己能够 控制同一个音乐播放器 现在某个人放了音乐 下一件他可能会做的事就是 看看周围谁在和他一起听 虽然听着很理所当然 但那个人可能在放 他的最爱曲 很可能想要 确定他的朋友就在跟他一起听着歌 来到人们在通过手机 经历上述情境的情况 我们需要找到方法 来提醒人们还有其他人在 和他们一起做着同样的体验
这个练习是个好方法 能思考设计需要包含的因素 以助力在几乎所有类型 的体验中营造现场感 接下来 我把舞台交给 Priya 探讨设计您的体验时需要注意的事项 Priya:谢谢 Ryan 设计集体体验时 首先要考虑的是您的 App 将支持什么共享活动 起初这可能是个很有挑战性的问题 因为许多 App 都是为个体而设计的 App 擅长为个体进行个性化定制 以提供愉快的体验 但出色的个性化体验 很可能不会转化成出色的集体体验 这是您从不同的角度思考 您的 App 的机会 去思考 专为集体设计的体验 设计活动时 想想人们聚在一起的话喜欢做什么 和朋友一起做饭 一起调整呼吸做瑜伽 一起看您最喜欢的球队赢得决赛 又或者是观看《人生切割术》 留下的悬念时一起屏息 以上举例都是 SharePlay 的上佳之选 因为这些都是人们喜欢亲身 参加的活动 SharePlay 提供了获得 面向集体的丰富协调经验的机会 集体里的每个人拥有控制权 并同步享有同样的体验 即便人们不在一起 也能营造现场感 举个例子 用 SharePlay 看 Apple TV+ 对着视频按播放就能大家 一起看 每个人的播放头都是同步的 暂停 播放 搜索命令 都是一致的 所以 Ryan 按了暂停或 Adam 点了继续播放时 每个人的视频暂停和播放都是同步的 Apple TV+ 就是个很好的 单视图协调体验示例 每个人观看和收听的都是一样的内容 如果想给您的 App 提供像这样的同步 媒体体验 您可以添加 共用的播放控件控制 只要采用“AVPlaybackCoordinator” 并使用“coordinateWithSession”方法 该系统将使每个人都保持完美同步 就像他们都在同个房间里 共用同个遥控器一样 可有时 我们分享的活动 不同参与者会有不同的体验 个别参与者在同个同步体验中 可能有不同的视图 比如 在玩“Heads Up!” 游戏的情况下 一个人要猜出屏幕上的单词 他的队友则要解释或诠释出线索 如果猜的人能看到答案 这个游戏就没有难度了 因此这个游戏有两种视图 而不是所有参与者 看到的都是同个视图 如果您想提供像 这样的多视图协调体验 您可以用 “GroupSessionMessenger”类 里的“send”方法并指定 应该接收消息的参与者子集 所以当您选好了您要设计的活动 以及支持活动所需的视图 下一步就是在人们 跟您的 App 互动时 给予他们良好的体验感 我们来探讨几个因素 这些因素可以 让您 App 的 SharePlay 体验好用易懂 为了打造出色的 SharePlay 体验 分阶段考虑共享活动是很重要的 可分为开始 期间和结束三个阶段 我们添加了不用 FaceTime 通话 就能开启 SharePlay 会话的功能 因此在人们遇到想和朋友 分享的内容或活动时 他们可以直接在您的 App 里 启动 SharePlay 会话 您能够直接在您的 App 里 让所有人进入您设计的体验类型中 如果人们 在浏览您的 App 时看到 想和朋友分享的事物 他们可能会点击分享 按钮来呈现分享栏 为了在分享栏里显示 SharePlay 的功能 您可以用 “registerGroupActivity(_:)”方法 注册 App 的集体活动 这样人们就能直接 在您 App 的分享栏看到 SharePlay 活动的选项 为了在您的 App 中 更容易找到集体活动 您可以支持 直接在 App UI 里 显示出 SharePlay 按钮 为此 您可以采用 “GroupActivitySharingController” 这让人们可以开始一个 SharePlay 会话 选择想要 SharePlay 的朋友 以及选择他们是否想通过 信息或 FaceTime 通话 共享播放 我准备和 Adam 跟 Ryan SharePlay 歌曲 系统会向他俩显示 关于集体活动的信息 包括标题 可选填的副标题以及图像 重点是这些信息是叙述性的 以便 Ryan 和 Adam 加入 SharePlay 会话后 知道他们要做什么 因此要想为您的集体 活动提供有用信息 请务必实现元数据属性 并返回一个 “GroupActivityMetadata”实例 您也可以考虑包含网页型的 URL 为可能没有在他们的设备上安装 您的 App 的参与者着想 这样他们能快速轻松地 下载您的 App 然后参加朋友的活动 要注意一点 某人在 Messages 组里 或 FaceTime 通话中 并不意味着他们已经进入了集体活动 想要找出谁在参与着 SharePlay 会话 人们可以在详情视图查看 这里看到 Ryan 在和我一起听歌 但是在进行 FaceTime 通话的 Adam 还没进入 SharePlay 活动 有机会时 您也可以 在您 App 的 UI 中 显示上述的信息 这是个好办法 能知道每个人都和您在同一页面上 这也有助于保持集体的现场感 如果每个人都在同个房间 只是看周围一眼 您就会知道有多少个人 和您一起享受着活动 然后我们都有几个 聚会总是迟到的朋友 因此 根据您 App 的体验类型 您可以考虑设立等待区 在开始体验之前 人们可以 等其他人加入的区域 比如“Heads Up!”就有等待区 每个人都加入 SharePlay 会话后 您就可以 点击“Let's Play!” 开始游戏 我们已经介绍了如何无缝启动 并加入 SharePlay 活动 接着我们来思考如何制作 活动期间直观的体验 个体作为活动进行中的 一份子 每个人都有可能 同时操作使用您的 App 我们已经跟我们的设备建立了联系 我们碰到了屏幕某个地方 都会导致页面发生改变 但是当您跨设备 进行一次共享的体验 某人的屏幕可能会因他人的操作 而发生变化 因此 在 SharePlay 会话期间 发生的变化 有必要让每个人都知道原因 例如 Ryan 可能暂停了电影 而几个人都在他的设备上观看 在 Ryan 暂停视频时 其他人的也会暂停 即使其他人没有动他们的设备 SharePlay 系统负责把类似的更改 发消息通知给小组的其他成员 但对某些活动来讲 人们 可能会觉得这类信息很有用 那就是活动期间相关事项的 内置于 App 的上下文信息 举个例子 在 Moleskin 制作的 Flow App 中使用 SharePlay 时 许多人可能在同一页面上绘图 当有人画了什么时 App 会显示姓名首字母 让大家都知道是谁画的 而这为整个小组提供了更直观的体验 这也有助于加强与小组其他成员 之间的现场感 这功能变得更加重要了 因为现在 您可以通过消息 SharePlay 之前您可能 没能通过音频或视频 获得您朋友的持续反馈 前面讲到我们和朋友一起开始 SharePlay 活动 也讲到了加入活动方面的功能 现在 我们聚焦在活动本身 您能够拥有完全沉浸式的体验 体验支持全屏观看 也可能会隐藏状态栏 例如 Apple TV App 在人们观看视频时 会隐藏状态栏 和其他界面元素 但重要的是要记住状态栏 让人们能够访问主要的控制 所以请让人们能够 重新显示隐藏的状态栏 通过设置简单 易发现的手势 让人们能在活动期间 访问这些类型的控制 在 Apple TV App 中 单次轻点便可再次显示状态栏 并在 UI 中显示主要的体验控制 也请记住 App 界面中的活动 只是整个体验的一部分 在您设计 SharePlay 体验期间 请思考人们如何通过 您的 App 与小组其他成员互动 无论人们是用 FaceTime 通话 还是用 Messages 发短信 他们都在进行多任务处理 所以在某些情况下 有人可能会 在小组活动期间 从您的 App 离开 这种情况下 请记得提供画中画功能支持 以提供良好的同步媒体体验 这将允许每个人继续 和朋友观看 并维持与小组其他成员间的现场感 这样不管是否有人在回复消息 亦或是在通过 FaceTime 通话与小组联系 就不用每次都暂停视频 在您的 App 里建立 这样的小组活动时 注意这些事项将有助于 提供端到端 SharePlay 的无缝体验 打破数字壁垒 让人们能制造有意义的时刻 并感受到互相的陪伴 因此 请务必注册您的小组活动 人们就可以直接在您的 App 里开始 SharePlay 配置描述性元数据 以便人们知道参加活动时 会发生什么 对晚来的加入者提供定制体验 并提供关于 UI 可能 发生变化的原因的上下文信息 确保控制易于访问 最后请记得支持媒体画中画 我们今天谈了很多 所以我们来快速回顾一下 您现在可以直接在您的 App 里启动 SharePlay 会话 无需通过 FaceTime 通话 这拓宽了构建 各种小组活动的道路 因此我们建议您做传送门练习 来帮助思考如何为您的 App 设计一种 能让人们身临其境的体验 重新构想以一群人为中心的 App 相关内容和活动 创造出色的体验 并在构建您的体验时用上最佳的操作 以避免受碍于数字壁垒 我们迫不及待地想看见您想到的 关于 SharePlay 的创造性用途 我们希望您能享受这次讲座 Adam 和 Priya:感谢收看 ♪
-
-
正在查找特定内容?在上方输入一个主题,就能直接跳转到相应的精彩内容。
提交你查询的内容时出现错误。请检查互联网连接,然后再试一次。