如何通过 IDE 的预检测功能提高审核通过率
从快应用审核的驳回数据可知,2018~2020 年,仅 vivo 一侧,就有 5500 余条驳回,在整理了驳回数据之后,IDE 推出了预检测功能,包括静态检测和动态检测,帮助开发者规避一些审核可能会出现的问题。
静态检测
快应用静态检测,是针对快应用审核相关问题进行检测的工具。它通过静态代码巡检,来对业务合规性等进行分析,同时给出建议,用于帮助开发者:提前发现和定位可能影响快应用提审的问题;以提高审核通过率。关于快应用审核规则,详情请参见《快应用自查指南》。
用户可以通过在插件市场安装插件使用该功能,该插件为 hap-static-detection
,在 IDE 中,也可通过上传功能的入口直接安装插件。
检测标准
IDE 会根据以下几个方面对代码进行静态检测:
- RPK 尺寸是否合规:如果未分包,rpk 不能超过 1M;如果分包,整个快应用的所有分包大小不超过 4M,单个分包/基础包大小不能超过 1M。
- 是否适配 menuBar:首页,必须开启 menuBar;不允许定制 menuBar。
- 是否为套壳 h5 应用:应用不得是简单打包的网站页面或套用模板、内容聚合或罗列链接。
- 是否有拉起第三方应用:应用功能,不能依赖于跳转无关网页或者无关第三方程序(不得出现拉起主程序)。
动态检测
动态检测,是基于厂商提供的「云测」功能,对所构建的 RPK,上传至云真机,进行自动化检测,帮助开发者,提前发现快应用可能存在缺陷,从而提高审核通过率和服务体验。检测项包含:首次启动耗时,内存占用,CPU 占用率,是否存在崩溃、黑白屏异常等内容(使用云测,需安装平台插件)。
用户可以通过插件市场安装插件使用该功能,该插件为 hap-vivo-stf
,目前只有 vivo 接入了云测的相关内容。
选择平台
在安装了插件之后,通过快捷入口的「云测」按钮,进入该功能,目前只有 vivo 一家接入云测,选择 vivo 云测。
登录
本功能需要先注册 vivo 开发者平台的账号才可使用,点击下方注册按钮,可前往注册,注册成功之后,在 IDE 中登录账号。
创建测试
在创建测试界面,如果有正在测试中的项目,会显示有项目正在测试,此时,可以选择继续创建测试或者查看历史报告;如果有已经测试过后的项目,则会显示最近的一次测试结果在下方。
点击创建测试,会询问是否把 rpk 上传至服务端进行动态检测,点击确认之后到下一步。
选择机型
在确认了把 rpk 上传至服务端之后,可以进行机型的选择,可根据自己的需要选择不同型号、不同系统版本、不同引擎版本的手机进行测试。
tips:选择的机型超过一个,可能需要较长的测试时间。
生成报告
在选择了机型之后,IDE 会自动把 rpk 上传至服务端进行动态检测,检测完成之后,用户可以在生成报告界面或者历史报告界面查看报告。
报告分析
动态检测的报告中,我们将分为三个部分来介绍:
1、基础信息:包括包名、版本号、提交时间。
2、检测结果:如果下方的检测项出现错误,则会在检测结果上提示哪台手机出现错误。
3、各设备检测结果:选择的机型中的各个设备的检测结果。
接下来,我将着重介绍设备的检测结果:
设备检测结果
设备信息:安卓版本、分辨率、运行内存、内部储存空间、屏幕大小
设备性能参数:再次启动时间、列表滑动帧率、CPU 占用率、FPS
重要检测项:
- 首次启动时间:首次启动耗时下限设定为 4000ms;耗时过长,会导致用户看到的都是白屏或者内容有缺失。建议检查加载过程中的所有操作,看是否存在请求数据耗时过长,或者一次性渲染数据过大的情况;当然您也可以考虑引入「骨架屏」功能。
- 内存占用为:快应用内存占用下限,设定为 600M;请检查是否存耗费内存的操作,如内存泄漏,没有复用的超长列表,很多大尺寸图片等。
- 是否成功安装
- 是否成功启动
- 是否有卡死现象
- 是否有崩溃现象
- 是否成功卸载
- 是否正常运行
- 是否出现黑屏或者白屏异常
- 问题截图:当有出现异常、崩溃、卡死、UI 异常、启动失败时,会有相应的截图显示,若无这些错误则不会有问题截图显示