说起移动端,让我印象最深刻的,一个是各端的适配,另一个就是埋点了。
我们集团用的统一埋点库叫a+,他集成了多端的埋点功能、端外H5、支付宝、手淘以及其他集团应用,都有不同的实现方式,在a+上,我们踩了无数的坑。
首先是自动监听dom上报,我写了一个auto-gold-log的埋点上报库,通过IntersectionObserver监听dom元素出现在视窗,出现回调;这里面也有个坑,在react里,react更新dom节点可能是update,只是属性改变,需要监听,做后续处理。这里我通过MutationObserver监听item.type,判断到底是attributes,还是dom节点改动的childList。
其他的问题就是排查各个端可能缺的上报以及原因,太酸爽。。经常跟集团a+现在的维护者打交道,还帮他们找到一些a+的bug。例如中间更新过某一个版本,导致小程序在iPhone6上的崩溃率直线上升等问题。
后续再说
网友评论