一、问题背景与机制分析

在移动应用开展开发期间,视频自动播放功能属于一种常见的针对用户体验的设计,其目的是去提升用户对于内容的沉浸感受以及即时响应程度。可是,在某些特定场景当中,像是网络环境状况不好或者用户没有主动进行触发播放的情形下,这种功能反倒会造成不必要的流量消耗以及操作干扰 。

将美团App这款把本地生活服务都整合于一体的综合型应用,此应用在其含有的直播模块之内引出了自动播放机制予以引入。当用户进入到直播页面的时候发现这里,系统会凭借以下方式来对是否将触发自动播放进行判断:

二、解决方案概览

针对美团App直播页面所存在的自动播放问题 ,我们朝着多路多样不同的技术维度着手 ,提出有如下这几种能够行得通的关闭方案 :

方案类型适用平台实施难度是否需要Root/

App内设置禁用

iOS /

系统级权限限制

网络请求拦截

iOS /

是(部分)

自动化脚本模拟点击

三、具体实现路径3.1 App内设置禁用

美团应用程序为使用者给予了某种程度上的自行定义选择,可以通过下面这样的途径去试着关闭自动播放:

将美团App打开,点击右下角呈现的【我的】,通过【设置】去查找【通用设置】或者【视频播放设置】,把【直播自动播放】或者具有相似性质的选项设定为“关闭” 。

该方式依赖于美团是否开放此功能入口,不同版本可能存在差异。

3.2 系统级权限限制()

美团App直播自动播放关闭方案_美团直播在哪_App内设置禁用关闭直播自动播放

有关用户,可以借助限制 App 的网络的访问权限,进而间接性地去阻止视频的加载 。

利用adb shell当中的pm,针对给定情形对应用进行设置,设置成在用户层面对其进行禁用,所针对的用户为0号用户,所对应的应用是com.sankuai.meituan 。
在安卓调试桥的命令行环境下,行使权限管理功能,给予美团所属公司旗下特定应用,安卓操作系统所规定的访问网络状态这一权限 。
执行adb shell命令,对com.sankuai.meituan应用撤销android.permission.INTERNET权限 。

注意,上面所讲的命令,必须是在一种被称作ADB调试模式的情形之下进行运行,它是适合于那些被叫做开发者或者高级用户的人群的,。

3.3 网络请求拦截

通过使用或之类的代理工具,能够将与直播播放存在关联的API请求给捕获,并且还能对其进行阻断。

graph TDA

启动代理

这个直播播放请求,由B进行识别,之后B将其传递,传递过程中会使其执行匹配URL规则这一操作,最终传递给C 。

返回空响应

C --> D

阻止视频加载

此方法对iOS适用,还要注意对相应代理证书予以信任,并且部分App会采用HTTPS来进行防护。

3.4 自动化脚本模拟点击

借助Auto.js或者其他类似的自动化工具去编写脚本,当进入直播页面之后,自动去点击“暂停”按钮,。

var delay = 500;
desc("暂停").findOne().click();
toast("已自动暂停直播播放");

该方式无需Root权限,适合普通用户快速上手。

直播带货培训