注册钉钉
影响步数不准确的原因是什么?

在计算步数过程中会遇到以下问题影响计步:

一、传感器问题

1、传感器清零(正常情况下传感器的步数手递增的,但是到达某个峰值后会清零重新计步),由于无法知道峰值是多少,故芯片清零会造成当天步数的损失。

2、传感器分发事件延迟,由于app接收sc芯片数据不及时,导致步数更新慢。

3、由于接收到的传感器事件只有总步数是有效信息,时间戳是无效的,导致我们在处理跨天的时候,结合传感器事件延迟可能会造成当天产生的部分步数被切分到前一天,使得当天步数损失。

二、app存活及Android系统限制

1、由于app不可能一直存活于系统当中,所以在app接收到的传感器事件是不连续的;所以,在处理跨天数据的时候,前一天部分步数和当天开始的部分步数会整体划入到前一天,可能会造成新一天步数损失。

另外,在处理传感器清零的时候,由于无法知道具体峰值,也会导致计步的损失。

2、Android 9系统对app使用传感器进行了限制:具体是如果app退为后台,那么系统会限制app接收传感器事件,即钉钉无法接收到总步数信息,那么也就无法计步,故再次打开钉钉会将重新接收传感器数据。

您可以在Android设置中打开钉钉自启动能够提升处理跨天数据的准确性;在钉钉页面时开始运动能够提升计步准确性哦,为了提升计步准确和实时性,您可以在运动当天多打开几次钉钉,刷新步数。

版本迭代方向:

1、接入手机厂商的运动数据,通过接口获取运动步数(需要和手机厂商沟通合作,目前在调研和积极推进中)

2、下个版本优化:在钉钉自启动时,芯片回调的第一时间(可能芯片总步数没有变化)执行跨天策略,提升当天计步准确性;另外,钉钉运动添加监听app切换状态,主动执行刷新传感器的API,尽量主动请求传感器执行返回数据,增大芯片回调几率,提升计步能力。

热门搜索
热门问题分类
相关问题