iOS 获取结合多个设备的 healthkit 数据

Posted

技术标签:

【中文标题】iOS 获取结合多个设备的 healthkit 数据【英文标题】:iOS fetch healthkit data combining multiple devices 【发布时间】:2020-02-13 20:25:40 【问题描述】:

我有一个从 ios 收集 healthkit 数据的应用程序。 它像这样将数据发送到我的应用程序:

 
      "header": 
        "id": "18018B64-850A-4F3A-9D21-4FF0C99762D6",
        "creation_date_time": "2020-01-15T14:15:00.000+01:00",
        "schema_id": 
          "namespace": "omh",
          "name": "step-count",
          "version": "1.0"
        
      ,
      "source": 
        "operating_system_version": "13.3.0",
        "bundle_identifier": "com.garmin.connect.mobile",
        "product_type": "iPhone10,4",
        "name": "Connect",
        "version": "20"
      ,
      "device": null,
      "body": 
        "step_count": 888,
        "effective_time_frame": 
          "time_interval": 
            "start_date_time": "2020-01-15T14:15:00.000+01:00",
            "end_date_time": "2020-01-15T14:29:59.000+01:00"
          
        
      
    ,

我想要单独的数据,因为我的应用程序显示了自己的聚合(日、月、今天等),我想在服务器端按我的意愿执行此操作,因此我无法访问用户的电话。用户手机将新的测量值发送到服务器,因为它们在后台可用。

但是,问题是我还收到了来自 iPhone 本身或其他收集步数的设备的测量值。

我可以过滤一个设备的传入数据,但这意味着如果我们关闭手表,我们就会丢失数据。 Healthkit 确实会收集 iPhone 数据,因此在 Health 应用中您确实会看到步数。

我实际上想查看 healthkit 应用程序中的数据,所以我会不断更新。

简短的问题:我不想考虑设备,我只希望 HK 值随着它的变化而变化。这可能吗?

【问题讨论】:

【参考方案1】:

在 iOS 上重现 Health 中显示的聚合的方法是使用 HKStatisticsCollectionQuery,而不是上传单个样本,然后尝试自己计算图表的值。您不太可能重现 HKStatisticsCollectionQuery 用于组合重叠数据的逻辑,因此直接使用查询要简单得多。

【讨论】:

但是 HKStatisticsCollectionQuery 没有从后台更新,所以当应用程序未打开时我无法跟踪用户的“移动”?

以上是关于iOS 获取结合多个设备的 healthkit 数据的主要内容,如果未能解决你的问题,请参考以下文章

是否可以获取 iOS 用户当前的 healthkit 状态?

是否可以获取 iOS 用户当前的 healthkit 状态?

iOS Healthkit 使用探索分析 🌛

healthkit 数据可以离开 iOS 设备吗?

healthkit 数据可以离开 iOS 设备吗?

从 HealthKit 获取设备