如何判断小程序 SDK 是否初始化成功呢?
从小程序 SDK mini_core 的 1.5.1.1版本之后,可通过 MINI_SHARK 过滤日志,确定初始化是否成功,初始化成功会输出:‘shark init ok!’,如图:
如果小程序 SDK 初始化失败,会看到如下的异常日志输出:
小程序 SDK 支持哪些类型的设备进行调试呢?
小程序 SDK 支持 CPU 架构类型为 arm 的模拟器和真机设备。不支持x86类型的模拟器。
小程序 taro 框架支持
Uncaught DOMException: Failed to read the 'sessionStorage' property from 'Window': Access is denied for this document.
at <anonymous>:1207:96250
at Array.forEach (<anonymous>)
at Module.<anonymous> (<anonymous>:1207:96164)
at Module.9 (<anonymous>:1207:113782)
at l (<anonymous>:1203:566)
at Module.204 (<anonymous>:1215:87806)
at l (<anonymous>:1203:566)
at t (<anonymous>:1203:435)
at Array.r [as push] (<anonymous>:1203:298)
at <anonymous>:1215:125
如果小程序基于 Taro 框架开发可能出现上面的错误,请添加如下依赖(未使用 taro 框架则无需添加)。
implementation 'com.tencent.tcmpp.android:mini_extra_v8:${version}'
小程序请求报错排查
小程序扫码、启动、搜索等接口调用出错时,会通过 Toast 的形式对错误进行提示。Toast 中包含发生错误的错误码以及 TraceId。除去 Toast 外这些信息也会记录到日志中,可以在日志中搜索 TraceId 对链路进行排查,找到出现问题的接口。
当错误码为5位时,该错误为客户端的通用错误码,具体错误码的说明请参考Android 错误码。常见的错误码有以下: -11001 表示 Shark 网络错误,需要对客户端到服务端的网络链路以及网关进行排查。
-11002 表示服务端发生业务逻辑错误,需要根据访问的接口对服务进行排查,具体的业务错误码可以在日志中进行搜索。
-11006 表示当前配置文件环境中不存在此小程序,请检查小程序是否已上架,且上架的环境是否与 superapp 使用的配置文件环境一致。
-12001 表示 shark 网络实例创建失败,通常是由缺失配置文件、配置文件错误或配置文件与应用不匹配导致。
-12012 表示小程序下载失败,应当检查小程序包的文件下载服务是否正常。
-12013 表示小程序包解析异常,小程序包可能已经损坏。如果使用的后台版本较老,请检查小程序的资源文件中是否存在文件路径包含非 ASCII 字符的资源。
当错误码为其他位数时,表示该错误为接口的具体业务错误,同错误码为-11002的情况。
错误中也包含请求的 TraceId,通过 TraceId 关联查询可以在后端日志中查找到对应的请求内容,帮助进行故障排查和定位。