Android端Firebase Performance自定义Trace无法上报问题咨询
问题根因
- 环境API支持差异
Firebase Web版性能监控依赖浏览器原生的Performance Timeline、Resource Timing等标准接口,PWA运行在安卓端Chrome、Edge等完整现代浏览器环境中,这类接口默认全部开放支持。如果你的代码运行在安卓原生App内嵌WebView、或是老旧版本安卓系统的默认浏览器中,上述性能相关接口要么被系统裁剪,要么默认关闭,直接导致自定义Trace无法正常采集数据。 - 数据采集开关默认关闭
部分安卓WebView环境下,Firebase Performance的dataCollectionEnabled属性默认值为false,你可以取消代码中该行注释确认属性值,若为关闭状态,手动设置perf.dataCollectionEnabled = true即可开启数据上报。 - 原生与Web SDK冲突
如果你是在已集成Firebase Android原生SDK的App内嵌WebView中运行这段JS代码,Firebase默认会将Web端的性能数据上报路由到原生SDK侧处理,上报的数据会归入安卓原生应用的性能监控分类,不会展示在Web/PWA对应的Firebase控制台面板中。 - 上报请求被系统拦截
安卓系统的WebView默认开启流量节流、非必要请求拦截策略,Firebase Performance的非核心上报请求很容易被系统或手机厂商的优化策略拦截,无法成功上传到Firebase服务器。而PWA运行在独立浏览器进程中,不受这类系统级WebView限制策略的影响。 - 旧版SDK适配缺陷
9.0版本以下的Firebase Web SDK存在已知的安卓WebView兼容问题,自定义Trace的状态上报逻辑存在漏洞,升级到最新稳定版SDK即可修复该问题。
内容的提问来源于stack exchange,提问作者Jeroen Vormer
相关产品推荐
相关产品推荐

