SKIP icon indicating copy to clipboard operation
SKIP copied to clipboard

如果聊天窗口含有“跳过”等字,会出现误判一直点击的情况

Open zhaodice opened this issue 2 years ago • 9 comments

比如qq聊天,说跳过这两个字,就会被程序误认为是广告跳过按钮,一直点

zhaodice avatar Nov 14 '23 14:11 zhaodice

qq好像没有开屏广告吧,可以设置max_click_count=0来屏蔽点击的动作

GuoXiCheng avatar Nov 15 '23 02:11 GuoXiCheng

qq好像没有开屏广告吧,可以设置max_click_count=0来屏蔽点击的动作

有,我见过,概率极小,基本上几天才能看见一次

zhaodice avatar Nov 15 '23 03:11 zhaodice

那其实影响比较小吧,真正比较讨厌的是那种你每次打开APP,甚至只是重新从后台切到前台都会出现的开屏广告。

GuoXiCheng avatar Nov 15 '23 06:11 GuoXiCheng

我看了看,你的项目可能需要改动的东西比较多,如果拆分成很多小pr可能会比较困难,比如: 1.多Ids,多texts 2.新增匹配文本长度限制(比如跳过,你聊天的时候说跳过也会被检测出来) 3.新增询问,遇到拿捏不定的情况就要弹窗询问用户 4.重构List<Rect>这样的返回值,便于用户可以自行添加规则(通过弹窗询问用户)

我改完后你可以来看看

zhaodice avatar Nov 15 '23 07:11 zhaodice

  1. 可以做,但我的判断是目前价值不高
  2. 有的情况是“跳过“,有的情况是“跳过广告”,有的情况会是“跳过广告 5s”带倒计时,根据长度不是很好去做限制。我做法是在进入APP后执行30次扫描动作,30次之后不会再有任何点击动作。因此可以通过max_click_count来限制它的点击次数在0或者1。
  3. 新增询问不要,我希望这个APP应该是无感的存在,不应有过多的打扰
  4. 让用户添加规则的价值不高,一般用户的话让他去开启无障碍服务可能都已经很困难了。如果是有开发经验的用户,可以直接提交PR或Issue来更新规则

我的计划下一个Release可能会是去重构主界面的UI。

GuoXiCheng avatar Nov 15 '23 08:11 GuoXiCheng

  1. 可以做,但我的判断是目前价值不高

    1. 有的情况是“跳过“,有的情况是“跳过广告”,有的情况会是“跳过广告 5s”带倒计时,根据长度不是很好去做限制。我做法是在进入APP后执行30次扫描动作,30次之后不会再有任何点击动作。因此可以通过max_click_count来限制它的点击次数在0或者1。

    2. 新增询问不要,我希望这个APP应该是无感的存在,不应有过多的打扰

    3. 让用户添加规则的价值不高,一般用户的话让他去开启无障碍服务可能都已经很困难了。如果是有开发经验的用户,可以直接提交PR或Issue来更新规则

我的计划下一个Release可能会是去重构主界面的UI。

弹窗只需要一次即可,程序会自己记住,我觉得完全没有这功能会弊大于利(当然,可以默认不弹窗,默认就处理也可以,需要的用户可以打开)

zhaodice avatar Nov 15 '23 08:11 zhaodice

Screenshot_20231115_164153 比如类似这样,此时检测到“跳过”这些词,它可能是广告,也可能不是 如果我这时打开的是手动模式,它弹出窗口进行询问,用户做出选择后,存入本地规则,下一次遇到同样的情况便不会再多过问用户 你完全可以让APP默认情况下是自动模式,即按你原来的行为,看见“跳过”就点它

zhaodice avatar Nov 15 '23 08:11 zhaodice

其次,这不是最终方案,最终还得通过不断增强规则,在规则的束缚下100%可信的情况下可以实现自动跳过,才是硬道理。(目前你的规则太弱了,误判率太高了,很适合这种)

我是这样想的,通过强编码ID,坐标,包名等显式定义的规则,可以无须询问用户,直接操作。 通过关键词,模糊查询,甚至可能是深度学习等方式的非确定性规则,可以通过弹窗询问(需要通过设置打开,默认还是按你原本的行为),减少误判

zhaodice avatar Nov 15 '23 08:11 zhaodice

其次,这不是最终方案,最终还得通过不断增强规则,在规则的束缚下100%可信的情况下可以实现自动跳过,才是硬道理。(目前你的规则太弱了,误判率太高了,很适合这种)

我是这样想的,通过强编码ID,坐标,包名等显式定义的规则,可以无须询问用户,直接操作。 通过关键词,模糊查询,甚至可能是深度学习等方式的非确定性规则,可以通过弹窗询问(需要通过设置打开,默认还是按你原本的行为),减少误判

也许你可以看看这个项目 https://github.com/gkd-kit/gkd 已经实现了不错的模糊查询

GuoXiCheng avatar Nov 15 '23 13:11 GuoXiCheng