Android NDK开发详解连接性之使用Cross device SDK简介
跨设备 SDK 开发者预览版通过开源项目进行分发。此预览版可供开发者社区用于对多设备体验进行原型设计和验证,但不适合在正式版应用中使用。
注意 :必须开启“附近分享”功能才能使用跨设备 SDK。如需了解详情,请参阅与附近的设备分享文件和链接。
设置 Google Play 服务
在开始编码之前,请确保已安装 Google Play 服务。Cross device SDK 目前处于开发者预览版阶段,仅可通过 Google Play 服务 Beta 版计划获取。如需了解如何注册参与 Beta 版计划,请参阅此指南。
加入 Beta 版计划并安装相应的 Beta 版 Google Play 服务后,您就可以开始使用跨设备 SDK 开发多设备体验了。
依赖项和权限
首先,打开应用模块 build.gradle 文件,然后添加 Cross device SDK 的依赖项,如下所示:
dependencies {
implementation 'com.google.ambient.crossdevice:crossdevice:0.1.0-preview01'
}
在开发者预览版阶段,该 API 可能会发生变化,因此请定期查看版本说明,确保您使用的是最新版 Cross device SDK。
使用 Cross device SDK 的一个好处是,它可以抽象出本地发现(例如 BLUETOOTH_CONNECT、BLUETOOTH_SCAN 和 ACCESS_FINE_LOCATION)。
注意 :您仍然需要在跨设备 SDK 之外声明和请求应用功能和 API 所需的运行时权限。例如,您可能需要 BLUETOOTH_SCAN 权限才能在跨设备 SDK 之外执行蓝牙扫描。
跨设备 API
Cross device SDK 中的每个 API 均旨在解决多设备框架中的一项常见任务:
设备发现:轻松找到附近的设备,授权点对点通信,并在接收设备上启动目标应用。
安全通信:在授权设备之间实现加密、低延迟的双向数据共享。
多设备会话:跨设备传输或扩展应用的用户体验。
这些 API 通过 Discovery 和 Sessions 类提供:
Kotlin
val discovery = Discovery.create(context)
val sessions = Sessions.create(context)
Java
Discovery discovery = Discovery.create(context);
Sessions sessions = Sessions.create(context);
您可以在以下部分中详细了解这些 API 的具体用途,也可以参考我们的示例应用代码库。
注意 :跨设备 SDK 在设计上是异步的。如果您不熟悉异步操作,我们建议您了解适用于 Kotlin 的 Coroutines 或适用于 Java 的 ListenableFuture。
示例应用
我们准备了许多应用来演示跨设备 SDK 的实际运用。 这些示例应用是围绕一个简单的石头剪刀布游戏构建而成,通过直观而交互的方式熟悉这些 API。我们建议您探索并修改示例代码,以了解如何使用:
设备发现
安全连接
会话转移
共享会话
请查看 GitHub 上的跨设备石头剪刀布网站。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2023-11-04。