李跳跳跳过广告进阶指南(存档记录,侵删)
一、李跳跳是什么?
一款用来跳过开屏广告和弹窗的安卓应用。
二、李跳跳的原理?
利用安卓系统的无障碍权限,帮助用户自动点击广告上的跳过按钮。
三、自定义规则
1、开屏广告规则
李跳跳的默认规则已经可以跳过绝大部分的开屏广告了,但李跳跳也不是万能的。当我们遇到无法跳过的开屏广告时,可以使用这条规则来跳过开屏广告:
{"keywords":["xxx"]}
xxx可以是跳过按钮的文案,也可以是跳过按钮的id或bounds,比如:
{"keywords":["关闭广告"]}//跳过按钮的文案
{"keywords":["tv_close_button"]}//跳过按钮的id
{"keywords":["900,160,1170,250"]}//跳过按钮的bounds
知识点:什么是跳过按钮的id和bounds?
2、弹窗规则
{"popup_rules":[{"id":"xxx","action":"xxx"}]}
我们也可以使用李跳跳来关闭应用内的 弹窗 ,比如下图所示的抖音更新弹窗,就可以用以下规则进行关闭:
//当检测到「检测到更新」这几个文字的时候,就自动点击「以后再」这个按钮
{"popup_rules":[{"id":"检测到更新","action":"以后再"}]}
注:规则里面的文字默认情况下是模糊匹配的。比如改成以后、以后再说、再说,甚至后再都是可行的。
注:规则里面的文字也支持首尾匹配和全匹配,只需在文字前面加上特定的符号就行。参照下面的举例,比如+检测到的意思是匹配以检测到开头的文字;比如-用户体验的意思是匹配以用户体验结尾的文字;比如=以后再说的意思是匹配和以后再说完全相等的文字。其中符号&是用来连接任意个条件的,你可以把它理解为且。
//举例:自动点击上面抖音弹窗
{"popup_rules":[{"id":"+检测到&-用户体验","action":"=以后再说"}]}
有时候我们会遇到一些弹窗,它们的关闭按钮不是文字,而是一个叉号❎ ,比如下图所示的美团弹窗,此时我们又该如何写规则呢?
如果这个弹窗可以通过手机的返回键关闭,我们可以这样写规则:
//GLOBAL_ACTION_BACK是固定不变的
{"popup_rules":[{"id":"=天天神券","action":"GLOBAL_ACTION_BACK"}]}
如果这个弹窗不可以通过手机的返回键关闭,我们需要知道叉号的id或bounds才行,我们可以这样写规则:
//假设这个弹窗的叉号的id是tv_close_button
{"popup_rules":[{"id":"=天天神券","action":"tv_close_button"}]}
但很多时候叉号(弹窗的关闭按钮) 不一定会有id,不过也没关系,因为它一定会有bounds,我们可以这样写规则:
//假设叉号的bounds是500,900,620,1020
{"popup_rules":[{"id":"=天天神券","action":"500,900,620,1020"}]}
知识点:如何获取关闭按钮的id或bounds?
3、设置点击次数
有时候我们设置的规则是正确的(弹窗出现的时候会弹出跳过提示),但无法自动关闭对应的弹窗。那是因为有些弹窗需要点击多次才行,此时我们可以把点击次数times设置为2试试:
{"popup_rules":[{"id":"","action":"",times:2}]}
4、联合规则
{"unite_popup_rules":true}
todo:待完成
5、页面白名单
少数情况下李跳跳会发生误点(错误地点击了其它地方),最简单的解决方案就是把发生误点的APP加入白名单。
如果你不想这样做,也可以用页面白名单这条规则把发生误点的页面加入白名单。
//xxx可以是页面的任意文字,也可以是页面任意节点的id或bounds
{"page_whitelist":["xxx"]}
//举例
{"page_whitelist":["=跳过休息时间"]}
四、什么是控件的id和bounds?
- 我们把APP界面上的元素,比如按钮、图标、输入框这些统称为控件。比如取消按钮它就是一个文本控件,它的文字就是取消。
- 写规则时可以根据取消这两个字来定位这个按钮。
- 有些按钮它是没有文字的,比如上面美团弹窗的叉号按钮。此时我们需要用到控件的id或bounds来定位这些没有文字的按钮。
- 但什么是控件的id和bounds呢?控件的id就是控件的身份证(普通用户可以简单这样理解);控件的bounds就是控件的大小和位置信息。
五、如何获取控件的id或bounds?
我们可以通过特定的工具来获取到控件的相关信息,我为大家找到了一个叫autojs的开源APP,可以到这里下载,密码:1233。