ADB点击实战-做一个自动点广告播放领金币的脚本app(下)
--ADB连接专 题
-
上一篇:ADB点击实战-做一个自动点广告播放领金币的脚本app
下一篇:编写中。
-
一、前 言
本篇主要讲述【一个自动点广告播放领金币的脚本app】的具体实例是怎么用的,与技术无关。它只负责点关闭按钮,并主动进行下一个广告的播放,不涉及理论知识。
如果读者朋友想参照这个来编写自己的APP,请参考我们之前发布的《ADB点击实战-做一个自动点广告播放领金币的脚本app》和《手机录屏+OCR识别手机屏幕文字-做一个点广告播放领金币的脚本app》两篇文档。
通过这个【点广告app】,可以让用户在不需要手动关注屏幕的倒计时的情况下,找到关闭按钮。在视频播放结束后,自动关闭广告并使其继续播放下一条广告内容。实现手机无干预的情况下连续播放多条广告或自动退出当前广告的能力。
在广告播放过程中,常常会跳转进入直播间。而广告一旦跳转进入直播间后,它是不会主动退出的。【点广告app】可以精准的识别出广告已进入直播间,并自动点击手机返回键或点击屏幕中的关闭按钮,主动退出直播间。
体验和下载地址:
智能拨号器App: http://120.78.211.195:8060/Dialer.apk
- 二、依赖项和前期准备
由前面的篇章可知,【点广告app】要依赖ADB连接,才能正常的进行后续所有的工作。因此,一定要先开启手机5555端口的TCP转发。
现在,你手头上要准备如下物件:
1、一个Android手机,不限系统版本。
2、一根USB数据线,可以用来插到电脑上。
3、ADB客户端程序,如果你电脑上没有这玩意,可以使用下方的链接来下载并解压到自己电脑上:platform-tools.rar
链接: https://pan.baidu.com/s/1nYIbcecBplD3zqlbol3K0g?pwd=jfes 提取码: jfes
接下来,将使用下面5步,来详细阐述如何为手机开启5555端口。
第一步 :手机设置中开启【开发者选项】
打开手机的设置应用,如果该手机之前从未开启过【开发者选项】,就需要进"关于手机"中,狂点某个条目(如下图左侧的版本号),开启手机的开发者模式。
在开发者选项中,开启USB调试。开启完毕后,电脑即可使用USB数据线来操作手机,给手机进行初步的设置。

第二步 :电脑上运行ADB命令
将上述【platform-tools.rar】下载到电脑后,解压成目录(如解压到D:\platform-tools)。在电脑文件管理器的地址框中输入cmd后,按下Enter键,打开电脑的【命令提示符】窗口,如下图所示:

将USB数据线将手机和电脑互相连接起来,在命令提示符窗口中依次输入
【adb.exe devices】(用于确保手机确实已经插入到了电脑,并且手机允许USB访问)
【adb.exe tcpip 5555】(用于将手机的adbd服务转到tcp的5555端口)
如下图所示,开启【tcpip 5555】后,可以允许手机APP应用做为ADB客户端与手机本身建立稳定的ADB连接。

以上的本章节内容,只需要做一次。如果手机已开启了USB调试或已做了【tcpip 5555】的,就不再需要依赖电脑,就可以正常的安装和使用了。
- 三、点广告的悬浮窗开启入口
本文将【点广告app】的功能,整合到了【智能拨号器APP】。采用分离部署、插件式加载的办法,缩小了安装包的体积大小。
如下图所示,安装后的app图标入口处点击该图标,打开和进入【智能拨号器APP】的登录界面,随便注册一个账号或点击"免费试用",即可进入主界面。点击主界面右下方的"设置"选项卡按钮,切换到设置选项卡的界面。

在【设置】选项卡界面中点击右上角的"齿轮"图标,在打开的【APP应用设置】的界面中,找到"屏幕OCR识别属性】-【ADB自动点广告】的开关项,打开它即可。

由于【点广告app】的功能采用分离部署的方式来减少apk发布的体积,开启【ADB自动点广告】时会弹框提示需要另外下载大约7.5Mb大小的文件,才能正常进行屏幕界面的OCR识别。此时点击"确认开启"按钮即可。如下图所示:

- 四、自动下载和解压OCR模型库
确认开启后首次使用【点广告app】的功能,会从服务器中下载C++的so动态库和飞浆Paddle-Lite的模型库。
目前基本市面上所有的手机都是arm64的架构,总共下载和解压的文件大小约为3.7Mb+4.06Mb,等待约十秒钟即可正常加载完毕。如下图所示:

下载完毕的OCR模型和库将放入手机的sdcard,下一次【智能拨号器APP】运行时将直接从sdcard中读取和加载,不会重复进行下载和解压操作。
- 五、自动识别广告
开启完毕的【ADB自动点广告】功能是一个悬浮窗,平时收缩到手机屏幕的边缘。用户需要使用时可轻轻点击一下,就会自动展开成为一个小框。界面中有"自动识别"和"暂停识别"的点击按钮,分别用于允许用户手动对屏幕的广告视频进行人工手动的干预。
悬浮窗开启了之后,用户可以按下手机Home键,将【智能拨号器APP】切换到后台,只保留悬浮框持续浮动在屏幕顶层即可。后续就可以愉快的打开和使用如"抖音极速版"、"番茄畅听"等各种广告APP啦。
如下图所示:

- 六、悬浮窗能实现的效果
正常来说,在悬浮窗中点击了【自动识别】按钮了之后,APP刚运行时会弹出下述【是否允许"智能拨号器"录制/投射您的屏幕?】。此时,选中"整个屏幕"这一项并点击"允许"按钮,如下图所示,即可正常的对手机屏幕的界面进行自动的广告识别和关闭广告的功能。

- 七、例外情况和缺陷
在广告app的播放过程中,【ADB自动点广告】功能的悬浮窗会一直识别和干预广告的播放进度和状态。从而实现【
手机无干预的情况下连续播放多条广告或自动退出当前广告的能力。
在广告播放过程中,常常会跳转进入直播间。而广告一旦跳转进入直播间后,它是不会主动退出的。【点广告app】可以精准的识别出广告已进入直播间,并自动点击手机返回键或点击屏幕中的关闭按钮,主动退出直播间。
】的使用效果。
但是,因为技术手段有限,下述的某些场景可能无法自动的识别出准确的内容,如下图左侧的广告内容。我们试了好多的方式,确实尽力了,有些时候就是识别不了。这种情况是极少数的,这个时候就需要人工干预进行手动关闭广告了。

大部分的广告内容,都是如上图右侧的画面的样子,【ADB自动点广告】功能的悬浮窗很容易就能识别出它的内容,并等待它播放完毕后,自动点击它的关闭按钮,结束当前广告并进入下一个广告的播放。
- 八、小结
我们一顿操作,从技术的手段上实现了【点广告app】的功能,并将它整合到了我们之前发布的【智能拨号器APP】中做为示例。供有需要或感兴趣的读者和朋友进行下载和体验。
我们在前文中也披露了实现的技术细节,有动手能力的读者,也可以使用我们的技术预研的路线,站在我们的肩膀之上,继续开拓和完善更加好用的功能。