关于 iOS App 启动广告这个主题在 V2EX 也基本是定番了,隔一阵子就会有人宣布发现了新姿势屏蔽广告,然后就会有人在底下回复“好像没啥用啊”“XX 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 ,只是缘木求鱼徒劳无功,有效主要是错觉。
这些方法本质都是企图让广告显示走入错误处理然后达到“去广告”的目的。
因为放广告的时候才不看系统 Settings 有啥呢。
除了自律就只剩下他律了。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.