【问题标题】:Google Fit sleep doesn't return Pebble deep sleepGoogle Fit 睡眠不返回 Pebble 深度睡眠
【发布时间】:2017-09-29 08:28:24
【问题描述】:

我的应用收到了关于一个相当奇怪的错误的报告。如果用户将 Pebble 连接到 Google Fit,Fit API 返回的 AGGREGATE_ACTIVITY_SUMMARY“睡眠”值是 Pebble 的总睡眠减去其深度睡眠值。那么用户会在各种应用上看到什么:

  • Pebble:7h55m 睡眠 = 5h38m(正常睡眠)+ 2h17m(深度睡眠)
  • Google 健身:7 小时 55 分钟睡眠
  • 我的应用:5h38m

为了解决这个问题,我的第一个想法是:总睡眠 = 睡眠(活动类型 72)+ 深度睡眠(活动类型 110)。然而,我得到的印象是,睡眠活动类型是浅睡眠、深睡眠和快速眼动睡眠的超集;如果我只是在深度睡眠中添加睡眠,那么其他应用的数量就会过多。

也就是说,关于睡眠活动类型之间关系的文档(和第三方写作)并不清楚,所以我可能是错的。显然,Google Fit 应用程序正在做正确的事情,而我没有。此处(或查看的地方)有关规则的任何信息都将是极好的。非常感谢!

【问题讨论】:

    标签: android google-fit pebble-sdk


    【解决方案1】:

    fit API 有以下类型

    • 睡眠 (72)
    • SLEEP_LIGHT (109)
    • SLEEP_DEEP (110)
    • SLEEP_REM (111)。

    Fit 平台提供了这些选项,因为每个设备可能会以不同的方式跟踪睡眠。即,一台设备将跟踪总睡眠,或者其他一些设备可能会跟踪睡眠,并将其隔离到不同的存储桶中。

    我相信 pebble 正在跟踪和存储针对 SLEEP(72) 和 SLEEP_DEEP (110) 的睡眠数据,分别用于“常规睡眠”和“深度睡眠”。因此,当针对 SLEEP (72) 查询 fit api 时,您只会获得该值。

    在 Fit 应用程序中,睡眠分量是上述所有内容的总和,即 SLEEP、SLEEP_LIGHT、SLEEP_DEEP、SLEEP_REM。

    【讨论】:

    • 好的,很好。因此,由于 Fit 应用程序汇总了所有睡眠类型,因此我应该采用该标准。只是好奇,您是如何发现 Fit 将它们加在一起的?