【问题背景】
最近有开发者集成了AGC的崩溃服务,出现了一个问题,在集成完成后,触发崩溃事件测试,在AGC后台可以看到当天崩溃的数据,但是启动次数显示为0。等到第二天再看数据时,连昨天的崩溃数据都没有了。下面是第一天与第二天的数据截图。
第一天可以看到崩溃数据,但是应用启动次数为0。
第二天连崩溃数据都没有了
【解决方案】
可以看到图一的崩溃数据上报成功了,但是应用启动次数没有。所以无法计算出应用的崩溃率(崩溃次数/应用启动次数),后台在处理数据时会将前一天的崩溃数据当做无效数据过滤掉,所以第二天的时候连崩溃数据都没有了。
那么要解决这个问题就要定位为什么应用启动次数数据没有上报。应用启动次数其实是由华为分析服务中的启动事件这一事件来记录的,每次用户启动应用时都会被记录为一次启动事件,由分析服务SDK上报到后台。下面就是启动事件未上报的排查方法:
1、检查项目是否添加了最新版本分析服务的依赖:
implementation 'com.huawei.hms:hianalytics:6.9.0.301'
2、检查项目是否修改过默认数据处理位置,崩溃服务中的启动事件是由华为分析Analytics Kit采集的,如果您修改了崩溃服务的默认数据处理位置,您需要使用getInstance(Context context, String routePolicy)初始化华为分析SDK,确保启动事件上报至修改后的默认数据处理位置。
参考文档:
3、如果使用的是iOS的SDK,需要设置一下AGC SDK应用启动时的监听有没有添加:
[AGCInstance startUp];
//设置AGC SDK应用启动时的监听
[[AGCApplicationDelegate sharedInstance] didFinishLaunchingWithOptions:launchOptions];
参考文档: