跨设备SDK

跨设备 SDK 使开发者更容易创建可在多种设备上兼容的应用。通过将各种连接技术组合到一个工具包中,该 SDK 简化了丰富且引人入胜的多设备体验的开发。以前,开发者需要独立使用蓝牙和 Wi-Fi 等连接框架来创建多设备体验。现在,开发者可以专注于用户体验中最重要的部分,而 SDK 则处理这些底层技术。

此 SDK 是我们更大的 多设备开发工具包 的一部分,其中包括模拟器支持、性能分析等等。跨设备 SDK 支持以下核心功能

  • 设备发现和授权
  • 安全连接和数据传输
  • 多设备会话

使用此 SDK 可以构建的应用程序和体验示例包括多人游戏、在生产力应用中设备之间无缝切换以及团体订餐。

在开发跨设备 SDK 时,我们遵循三个基本原则来创建安全且尊重地加速多设备应用和体验开发的抽象层。这些原则是

  • 普遍性:SDK 应尽可能在所有设备上运行,从手机和平板电脑开始。
  • 模块化:开发者应该能够将 SDK 与其他解决方案混合使用。
  • 赋能:SDK 不会将您限制在特定的跨设备体验上,而是允许您构建自己的功能和体验。

用例

在讨论跨设备用例时,我们考虑两大类:个人体验和公共体验。

个人体验

个人体验围绕单个用户在多种设备(例如手机、手表、电视和/或汽车)上的身份构建。这些体验帮助用户更有效地连接他们拥有的各种设备。例如

  • 使用手机输入您的付款方式来完成在电视上的电影租赁或购买。
  • 在手机上开始阅读长篇文章,并在平板电脑上完成阅读,而不会丢失您的位置。

公共体验

公共体验是在用户和周围其他人之间共享的。例如

  • 作为乘客直接与朋友的汽车共享地图位置。
  • 与一起骑自行车的人分享您周日的自行车路线。
  • 收集团体订餐的物品,而无需传递您的手机。
  • 就下一个一起观看的电视节目进行分组投票。

媒体和其他体验

还有一些多设备体验,例如连续媒体控制和身份验证,可能会提示发现设备并在参与者之间传递数据。对于这些用例,我们有现有的框架和 SDK 可能更适合

这些 API 和技术与跨设备 SDK 结合使用,使您能够在您的应用中构建独特且无缝的多设备用户体验。

开发者预览版限制

由于这是 SDK 的开发者预览版,请注意以下几点

  • API 表面可能会发生变化。
  • 跨设备 SDK **不应**用于生产应用。

当前支持的平台和表面仅限于 Android 手机和平板电脑设备。

我们鼓励您分享您的反馈和建议。请 在此处提交错误报告

工作原理

跨设备 SDK 是一个软件抽象层,它通过利用蓝牙、Wi-Fi 和超宽带等各种无线技术,使平台驱动和开发者驱动的多设备体验成为可能。这种抽象允许开发者专注于用户体验中最重要的部分,而 SDK 则处理平台功能、设备发现、身份验证和兼容性的底层方面。

Cross device SDK architecture.
图 1:跨设备 SDK 架构。

对于大多数应用开发者,我们推荐使用多设备会话 API。此 API 允许将应用用户体验传输到或与其他设备共享。但是,如果您需要更精细的控制或自定义跨设备体验,则可以使用独立的设备发现和安全连接 API。

跨设备 SDK 是开源的,并将适用于不同的 Android 平台和非 Android 生态系统设备(ChromeOS、Windows、iOS)。SDK 的目标是在简化应用开发者开发多设备体验的同时,利用现有技术和平台功能。