sensorsdata / sa-sdk-android

神策数据官方 Android 埋点 SDK,是一款轻量级用于 Android 端的数据采集埋点 SDK,包含代码埋点、全埋点、点击图和可视化全埋点功能。全埋点通过配合神策官方 Android 埋点插件来实现,神策数据官方 Android 埋点插件使用字节码插桩(ASM)的技术实现 Android 端的全埋点(无埋点、无码埋点、无痕埋点、自动埋点)。
http://opensource.sensorsdata.cn
Other
1.31k stars 434 forks source link

是否是键盘view判断会出现误判,导致demo gridview 的点击事件不被采集 #99

Closed haegyeong closed 2 years ago

haegyeong commented 2 years ago

KeyboardViewUtil.isKeyboardView(View view) 这个判断有问题

dengshiwei commented 2 years ago

@haegyeong 你这边能举一个例子吗?我们当时考虑的是采用一种近似模糊匹配的方式

haegyeong commented 2 years ago

@dengshiwei 我运行你们的demo,点击gridview 的item,发现点击事件不被采集。然后看你们的源码是判断view个数大于1,并且文案是单个数字或者是字母则认为是键盘view了,这样有多个view 的控件,其中一个控件是单个字母或者数字,那么就会被认为键盘view了。我目前还想不到如何判断点击是否是键盘的view

dengshiwei commented 2 years ago

@haegyeong 这个 demo 因为太简单了,所以里面设置的都是数字 1、2、3 这种,所以命中。实际业务场景一般是很少的。

haegyeong commented 2 years ago

虽然实际业务场景少,但是这个问题还是存在,就会导致事件的丢失了。[捂脸]

dengshiwei commented 2 years ago

这种情况你可以在 build.gradle 中把这个功能关闭。

    sensorsAnalytics {
        disableTrackKeyboard = true
    }