【常见问题解答】关于获取所选日期前一天的事件数据时分析服务错误的解决方案构建自定义报告,生成针对您的受众的个性化分析等,以帮助创建有效的营销活动。数据导出支持根据用户属性和导出事件进行过滤,并显示“预计可导出事件数”。开发者选择不同的时间段和过滤条件,预估的事件数会相应变化。问题描述开发者向我们提出建议,创建数据任务后,发现自己错误获取了所选日期前一天的数据。例如,如下图所示,2021年12月18日导出的数据报表中的eventtime包含了12月17日发生的事件:故障处理1.确定数据导出的时间基线规则。收到问题后,我们首先确定时间基线规则是根据开发者创建数据导出任务的时间。然后通过云测试数据导出规则发现,开发者选择的放映日期是根据分析服务云测试服务器的时间,即服务器时间来判断的。2.分析全天上报数据量的比例和特征。以某应用12月9日的数据为例,当天总的servertime统计数据为15xxxxx,eventtime数据量占比97.3%;包括前一天的数据量占2.65%。这些数据没有明显的特征,云端测量数据传输过程中的eventtime是透明传输的,不需要额外计算。3.检查最终测试报告并重现。事件时间记录的是事件触发的时间,所以我们怀疑是事件触发后没有及时上报到云测试,而是延迟到第二天才上报到服务器。换句话说,这些事件被缓存在本地。与开发者沟通后得知,其采用的是默认上报策略,即应用切分后台上报策略和阈值上报策略。当开发者没有设置上报策略时,这两个策略会自动生效。因此,通过重现,发现如果应用被kill掉,用户切换到后台触发事件上报,上报过程还没有完成,进程就被kill掉,导致事件上报失败,它在本地缓存并等待下一个报告。还有两个原因,详见下一节根本原因描述。原因是用户切换到后台触发事件上报,上报过程没有完成,进程被kill掉,导致事件上报失败,缓存在本地,等待下一次上报;用户切换到后台举报时,由于网络状况等原因,举报不成功;对于跨天使用该应用程序的用户,数据报告会缓存到第二天。方案建议开发者使用setReportPolicies接口将4个上报策略一起设置,定时上报策略设置为60s-1800s(60s最敏感)。如果设置为60s,即使这种场景下进程被kill掉,也能保证进程被kill掉之前超过60s的数据都能上报,避免数据上报延迟。更多HMSCore分析服务详情请参考:https://developer.huawei.com/...更多详情>>访问华为开发者联盟官网获取开发指导文档华为移动服务开源仓库地址:GitHub、Gitee关注我们,第一时间了解HMSCore最新技术资讯~
