一、产品层面
1、日常FAQ
1.为什么还是昨天的数据?
质量洞察的数据并非实时更新,而是T+1日更新T日数据;
2.为什么有些报错数据PV>0,但是xx率是0.000‰?
目前展示给前台的数据精度为千分位保留3位小数,因此<0.000001的数据会展示为0.000‰,并非数据异常;
3.xx指标与云监控的数据不一致?
两者并非一个产品,定位不同,计算逻辑和口径存在不一致,建议开发者根据自己的业务情况参考两者,
4.新上架的小程序,为什么没有数据?
1质量洞察的数据和用户访问量有关,如果没有访问量,数据采集不到就会为0;
2小程序上架后,若有访问数据,次日则会自然有数据生产;
5.指标变动有什么影响?是否会影响小程序搜索流量?
目前质量洞察的部分指标数据会影响SCI分数,具体情况见:https://opendocs.alipay.com/b/03al9n;
7.为什么待优化项已经修复了,仍显示未修复?
质量洞察的数据并非实时更新,而是T+1日更新T日数据,可以隔天再进行观察;
版本迭代期FAQ
1.为什么仍看到旧版?
可能是由于开发者是从<SCI-服务力-开发质量>的路径进入,该路径目前只能查看旧版,后续更新;
2.为什么同一个指标,在SCI页面和质量洞察看到的数据不一致?
SCI与质量洞察的数据计算口径存在不同,SCI为旧版计算口径,后续更新;
●如有其他SCI相关问题,可前往:35306730 SCI沟通群
3.为什么有新版本上线后,同一个指标的数据会发生变化?
新版本更新时,会根据情况升级指标计算模型,从而进行更准确的计算;对于计算时间或周期的指标,则可能会发生一些结果的变化;
4.V3版为什么删除了V2版的质量等级六角图/质量是否达标判定?
相比V2版本,V3版本更强调数据的客观开放,及多维度分析的能力,通过丰富的数据,帮助开发者自助分析及定位质量问题;
二、指标层面
1、性能指标
1.新版的启动耗时具体计算口径是什么(和旧版的差异)?
1、原来的页面性能启动耗时计算仅支持 UC 内核,未支持 iOS,质量洞察中的启动耗时仅为 Android 设备启动耗时数据均值;仅提供一个绝对的数值,可解释性差、稳定性差、无法还原渲染流程指导优化。
2、新版启动耗时数据基于 H5 标准实现,支持安卓、iOS,拥有更多维度指标对小程序性能进行度量,指标采集、上报清晰可解释,可通过更多维度的指标来给予有意义的性能优化方案。
2.启动耗时为什么我的体感不一致?
1、启动耗时的计算模型口径较复杂,不同口径下的计算结果可能会有差异,例如不同的开始结束节点等
2、质量洞察中的启动耗时是基于用户真实启动时间计算得出的,用户使用的设备(性能)、操作系统环境、网络环境等都会影响小程序启动耗时。
开发者在全息检测中测试启动耗时为实验室模拟数据,设备环境更单纯,且有些测试安卓手机性能较好或使用 iPhone(iOS)设备进行测试,实际体感会比线上数据更快是正常的。
3.启动耗时是统计首页吗还是所有页面都包括?
注意⚠️启动耗时不仅仅只统计首页,因为商家会把非首页作为运营投放的入口。启动耗时就是看用户启动小程序的时候打开的第一个页面渲染结束耗时,所以涉及到的相关场景页面都需要作为性能优化的页面。
4.实验室优化了性能有提升,为什么上线之后性能反而下降了?
小程序发布新版本之后,用户需要重新拉包,所以新版过渡的1~3天覆盖率未上涨的情况下,用户的包下载耗时可能会上涨,从而导致整体的启动耗时上涨。这个现象在新版本的覆盖率上来之后会有回退的趋势。开发者可以多关注下新版本质量洞察的包下载耗时PV和耗时数据。
5.全息检测的数据为什么与质量洞察不一致?
全息检测是取线上和本地版本在同一个实验室环境的对比,这个数据和质量洞察的不同,但可以告诉开发者当前的优化发到线上,是否有缩短耗时的效果。
质量洞察的数据是线上访问过小程序的所有用户在不同的环境下采集的真实数据,会整合所有用户各类机型、各种场景得到平均值,包括冷启动,热启动、各种网络环境等。
6.内嵌H5的场景会计算启动耗时吗?
会,新的启动耗时口径会同时计算H5的场景,也就是说内嵌的H5加载越慢,启动的耗时就会越长。
7.新版启动耗时计算有超时时间吗?
有,假如页面打开10秒后dom不发生任何改变或者还在陆续加载内容,此时会结束耗时计算,但是此次的采集数据还是算有效数据,用户页面关闭的时候还是会做上报。但是如果页面无任何渲染帧的情况(白屏),属于无效数据,不做上报。
8.有轮播图的情况下,新版启动耗时怎么计算?
轮播组件是比较常见的H5场景,这种场景会不断的给页面加入新内容,如果我们不断的把新内容计算进去,启动耗时值就会变得特别大(旧版),这种情况下新版启动耗时就做了优化策略,新版启动耗时会根据CSS样式计算轮播图的动画后位置,然后由于新版启动耗时对于完全相同位置的节点会去重,这样就把轮播图的后面几张图忽略了,所以不会影响首屏数值。
9.单个待优化项的详细指导方案文档有吗?
1、开发者社区中官方文档和开发者分享:https://forum.alipay.com/mini-app/channel/800001
2、开放平台文档中有官方文档:https://opendocs.alipay.com/mini/018tp6
2、功能指标
1. 白屏的具体计算口径是什么?
白屏不仅仅是是代表页面纯白色,也包括有底色的空白屏,比如蓝屏、黑屏、红屏等。是用户在使用小程序过程中进入任何一个页面长时间等待还是没有内容渲染出来,直到退出页面的时候平台会做检测,如果是符合白屏的规则就会进行上报统计。
参考文档: https://opendocs.alipay.com/mini/performance/whitescreen
2. 线上白屏率很高,为什么工具检测不出来?
全息检测目前仅支持首页弱网的白屏检测,检测的结果是代表检测页在弱网的情况下用户遇到的白屏风险较高,需要高度关注的页面。
3.页面URL是undefined和空的是什么情况?
有一种可能性是前端在webview组件里src参数里的url域名写的不规范,只有传递了一个变量{{url}}或者只填写了query后面的内容,没写host 域名,导致平台在采集原始数据,再进行数据加工之后截取出来的结果就是空地址或者是undefined的。
解决方案:建议前端开发者从业务代码逻辑上排查下,变量的获取规则,如果是从服务端下发的,那结合后端一起排查哪些场景下导致数据下发异常,前端可以在异常的情况下进行一定的兜底策略。比如替换一个兜底URL等。
4.页面受限问题为什么我本地调试或者体验包没问题?
1、本地调试没问题的原因可能是本地开发者在IDE调试工具上,勾选了『忽略Web-View域名合法性检查』(下图),导致在本地调试通过之后直接上传版本提交审核,导致审核包构建出来的包其实配置文件是空列表。
2、体验包没问题的原因,可能是开发者确实已经在开放平台配置了域名,并且重新生成了体验包,这时候就会把新配置的域名构建进去权限文件。但是线上运行的版本还是旧的,没有重新提审发布上架,导致线上的版本与体验包的配置文件不一致,还是出现了访问受限的情况。
5.报错的页面URL不是自己的页面,为什么?
1、一般情况下这种是内嵌页面的深层级页面,内嵌页根据用户访问的层级加深,会出现一级页面已经加白,但是二级三级页面未加白,导致开发者第一反应会认为那些报错的url "我不认识,不是自己的页面"。
2、第二种可能性就是此src是服务端动态下发的,前端开发者可能不感知服务端具体下发了什么url,建议结合服务端开发一起排查页面来源。
错误案例:服务端下发的url 或者 前端取到的url 就是为空值。