关于屏蔽 iOS App 启动广告的若干问题

2022-12-08 14:55:46 +08:00
 beimenjun

关于 iOS App 启动广告这个主题在 V2EX 也基本是定番了,隔一阵子就会有人宣布发现了新姿势屏蔽广告,然后就会有人在底下回复“好像没啥用啊”“XX App 没有用”。作为一个 iOS App 开发者觉得还是特地开一贴说一下 “iOS App 启动广告” 这件事。这样子其他端的开发者或者非开发者的大家下次就不必一惊一乍的了。

首先,我们先明确一个问题:“什么是 iOS App 启动广告?”

iOS App 启动的时候,用户会先看到一个 App 的启动页面(以下称“启动页面”):

然后,会出现一个广告页面(以下称“广告页面”):

后一个就是我们要讨论的 iOS App 启动广告。

那么,这个启动页面和广告页面有啥区别?

前者的技术实现上是 App 工程里的 LaunchScreen ,可以说是 Apple 设计的机制,在 App 启动完成前,就可以展示。显示的内容基本是静态的,无法变化的。(像 Bilibili 客户端能更换的启动页的功能,应该也是在真正的启动页面和广告页面之间,又塞了个和启动页基本布局一致的页面然后更换内容)而且这个 LaunchScreen 在 iOS 系统内部还有一定的 cache 机制,换句话说,如果 App 升级,新 App 的 LaunchScreen 如果发生了变化,可能下一次启动 App 不一定能看到。

(因为 toC 的产品对广告的实时性要求比较高,启动页面的这些特性导致了大家现在不会选择启动页面来展示广告)

后者的技术实现则是全由开发者决定了,长什么样,什么时候显示等等。而对于多数的中小型 toC App 来说,很可能会选择一些广告的 SDK 来让这部分简单化。但是像各种大厂或者银行的主力 App (也就是多数常用的那些国民级别的 App ),他们的这部分逻辑和业务都不太可能接入这类 SDK 。

而这些资源基本都是有一定时效性和变化的特征的:比如现在( 2022 年 12 月),还在显示双十一大促肯定达不到投放的目的,或者广告的图片错了,或者需要根据用户画像推送更高效的图片。这使得多数广告资源都是 App 本身不自带的。

在上面这个下载机制下,不管是 SDK 还是不接入的逻辑,如果要整套机制完备,都绕不开错误处理:如果不知道应该投放什么广告,或者知道要投放的内容但是相关资源没下载成功,怎么办?

多数情况下,一般情况下,不可能显示“广告资源下载失败”这种没用又失败的信息。多数时候可能就不显示或者最近一次下载成功的广告。

总之,后者是自己的地盘自己做主,一般不会在乎系统的各种设置。用户在系统设置里开关各种 toggle ,只是缘木求鱼徒劳无功,有效主要是错觉。

有哪些有一定效果的神奇操作可以屏蔽广告?原理?

  1. 依靠各种科学工具写各种规则,对各种广告提供商的广告下载的请求进行拦截。
  2. 开启 App 的时候断开网络 1s 再恢复。

这些方法本质都是企图让广告显示走入错误处理然后达到“去广告”的目的。

有哪些没有效果的操作?为啥?

  1. 在系统 Settings 里打开或者关闭各种选项。

因为放广告的时候才不看系统 Settings 有啥呢。

有啥办法可以根治这种行为?

除了自律就只剩下他律了。

3654 次点击
所在节点    iOS
17 条回复
v2e0xAdmin2
2022-12-08 14:58:44 +08:00
还是安卓牛逼,李跳跳牛逼
zhengjianyang
2022-12-08 15:04:19 +08:00
自己维护个 reject 规则
基本都是联盟广告
beimenjun
2022-12-08 15:04:32 +08:00
@v2e0xAdmin2 李跳跳是根据页面元素 id 位置啥的模拟点击来跳广告,主要是用的人不多,如果影响到广告投放,依靠位置和 id 还是很容易失效的。
jackma0571
2022-12-08 15:22:17 +08:00
还有就是提前预载广告在本地,在指定时间出现
helee9199
2022-12-08 15:59:54 +08:00
emm
试试 设置-屏幕使用时间-内容和隐私访问限制-apple 广告-不允许
dgmgso
2022-12-08 16:00:47 +08:00
求去启动页面广告的规则
beimenjun
2022-12-08 16:04:51 +08:00
@helee9199 这个是无用的,这个是 Apple 广告,不是 App 广告。

前几天比较特殊,很多广告停了罢了,不是这个设置的功劳。
pinkbook
2022-12-09 10:50:28 +08:00
@v2e0xAdmin2 安卓模拟点击跳过,ios 科学规则拒绝都使用过。ios 用科学工具拦截比安卓牛逼多了。两者都需要规则维护。ios 只要使用科学工具,就可以把所有广告全都去除,包括 app 开屏和 app 内部广告。而安卓只能跳过开屏广告
v2e0xAdmin2
2022-12-09 11:00:35 +08:00
@pinkbook 用 quanx 吗?
MsHan
2022-12-09 12:11:03 +08:00
已放弃,得全程开着 VPN 。
你用的软件现成的规则不一定有
自己抓包好像挺复杂,不太好找出广告的域名
开启 VPN ,虽然设置了规则,但是微信 饿了么 美团 国内的软件用起来网速就是没有不开 VPN 快
beimenjun
2022-12-09 12:56:44 +08:00
@pinkbook “ios 只要使用科学工具,就可以把所有广告全都去除”

绝无可能达到“全部去除”的效果。顶多是一些特征明显的 url 可以识别,特征不明显你也没辙。
vokins
2022-12-09 13:22:18 +08:00
leesamsik
2022-12-09 20:21:21 +08:00
@helee9199 #5 这个前几天貌似是有用,这几天又一个鸟样了。有人推测可能是跟 app 黑白同一个原因。
ddzy
2022-12-10 08:41:45 +08:00
圈 x 实测了很多规则,除了百度贴吧、彩云天气、鲨鱼记账这些,其它 APP 纯靠厂商自觉
Chineseyoungster
2022-12-10 11:10:40 +08:00
安卓直接李跳跳,贼好用
pinkbook
2022-12-10 12:09:51 +08:00
@beimenjun quanx ,surge 等代理软件可以抓包,通过 mitm 去除所有广告。对于不会写脚本的人来说,订阅一些大佬的规则,就非常干净,除了抖音,Twitter 等禁止 mitm 软件以及微信朋友圈广告特别顽强。其他软件都很干净。

个人使用的软件:百度贴吧,bilibili ,YouTube ,酷安等等软件,都相当干净。
beimenjun
2022-12-10 20:56:19 +08:00
@pinkbook

别人只要把广告业务资源的 url 特征降低,甚至不用图片 /视频,再或者,一旦下载失败 /超时的时候调用一个在 App 安装包里默认广告的资源。

之所以大家不都这么做,一部分是不同业务的资源存储的地址分开便于维护,更主要的是这种去广告的用户占比低做反制没那么大动力。

所谓“所有”只是种错觉。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/901087

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX