【问题标题】:How to Sync Data from a Smartwatch to a Smartphone without Sharing Data with the Google Cloud?如何在不与 Google Cloud 共享数据的情况下将数据从智能手表同步到智能手机?
【发布时间】:2020-08-05 18:45:08
【问题描述】:

亲爱的 Android 社​​区,

我目前正在开发一个 Android 应用程序,我想在其中与智能手机实时共享来自智能手表的一些传感器数据。 Github 上有几个这样的项目。这些项目仅使用DataClient 来同步数据。我对Android developer documentation 的调查导致了一些关于Android 何时与谷歌云共享数据的混淆。据我了解documentation,数据似乎是由 Android 与所谓的云节点同步的。由于这些信息对我的用户很敏感,我不想与 Google 云共享任何数据。因此,如果有人通过回答以下一些问题来支持我,我会很高兴:

  • 有没有办法在不启用云节​​点的情况下使用 DataClient 的便捷同步方法?
  • 当我改用 ChannelClient 或 MessageClient 时,数据是否与 Google 共享?

提前谢谢你, 埃格雷戈斯

【问题讨论】:

    标签: android google-cloud-platform wear-os privacy google-data-api


    【解决方案1】:

    很好的问题。

    简短的回答是:您无法确定您通过 Wear API 传输的任何数据都不会进入 Google 云。通信由不透明的 Google Play 服务(又名 GMS)处理。我们无法知道通过 GMS 发送的任何数据都只会发送到手机,而不会发送到云端。

    更长的答案是也许。 DataClient API 将您的数据副本存储在 GMS 中,并且(如您所说)将其与“云节点”同步,因此这可能不是正确的方向。但是没有证据表明 MessageClient API 在消息传递后会保留它们。所以:使用NodeClient API,您可以确定手机的Node.isNearby() 为真;我的经验是,这相当于手机和手表之间的蓝牙连接。然后,您可以通过 MessageClient API 发送您的数据,这些数据可能会通过蓝牙传送到手机,而无需在 GMS 中停留足够长的时间来访问 Google 云。

    如果您需要比这更有力的保证,那么您可能无法按原样使用 Wea​​r API 进行数据传输。我想到的其他几个选项:

    • 滚动您自己的数据传输,可能基于原始蓝牙 API。这当然是可能的(我已经做到了),但工作量很大。
    • 在将数据传递给 GMS 之前对其进行加密,然后在您的手机应用程序中对其进行解密。这似乎比构建您自己的通信层更容易,但加密并不真正在我的驾驶室中,所以我不能就此提供更多建议。

    【讨论】:

    • 感谢您的回答。我开始实现与 ChannelClient 的数据同步,因为我似乎对这个过程有更多的控制权,而且这种非结构化数据似乎不太可能被 Android 与 GMS 同步。关于您的两个建议: 1.我也在研究使用第三方库的方法,例如socket.io,但我没有找到简单的解决方案。 2. 在智能手表上加密实时数据可能过于耗费资源,但我会进一步调查并将其作为一个单独的问题发布。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多