APP开屏广告设计之路
设计APP开屏广告的初衷很简单,为了带来收入。当然同样还有宣传和推广的作用,那本文就来谈谈作者APP开屏广告的设计之路。
为什么要做?
其实很简单,为了钱!
当一个APP积累了一定的用户量时,除了APP自身内容产生商业价值外,老板就会要求寻求更多能带来收入的功能。广告是目前大多数产品的主要盈利手段,在APP中,启动广告的报价一般都是最高和争抢的。
当然,启动广告除了可以投放商业广告外,还可以宣传和推广公司的新产品、新活动等内容。
怎么做?
初次接到需求时,简单看了一些竞品,觉得十分简单(主要是当时自己经验不足,初入行半年左右),简单设计了一个方案就进入开发阶段,之后上线。上线之后遇到各类情况以及新的需求,让我发现看似简单的开屏广告,却不简单。
初次上手
最初,接到需求后,设计的方案如下:
在广告系统建立“APP开屏广告”广告位,广告位中可以添加多个广告,用户每次启动APP时,随机获取该广告位中的一个广告。
开发,测试,上线,完美!
二次改进
刚开始一切完美,广告正常展现、跳转正常。可不多久,就发现了问题:
- 网络不佳时,广告图片加载慢,造成倒计时结束图片还没加载出来,屏幕白屏情况;
- 用户如果通过home键(尤其是iPhone)切出APP后,由于APP进程未杀死,用户再次进入APP时就不会再出现广告,可能造成用户长时间段内不会看到广告,这与商业初衷相背离。
基于以上原因,开始了第二次迭代,方案如下:
- 针对网络慢等造成图片无法加载的问题:APP每次启动时,都将所有的后台广告缓存到本地,用户再次启动APP时,从缓存中随机获取一个广告并展示,同时程序更新缓存的广告。
- 针对用户home键切出APP的问题:用户每次进入APP时(即使是通过home键切出后再切回),都展示广告。(真不知道自己当时是怎么想的,这么影响用户体验的需求竟然也能提)
开发,测试,上线,完美!
三次迭代
本以为一切完美,这个需求算是解决了,但使用过程中又遇到了问题:
- 广告是有时效性的:如果一个活动到1月31号结束,广告推广时间是1月20号-1月31号,一个用户在1月20号打开了APP,这时由于广告缓存的原因,这个用户没有看到这个广告,但这个广告已经缓存到了本地;假设该用户下一次启动APP的时间是2月1号,由于缓存,该用户看到了这个广告,点击了链接,结果却发现活动已经结束,这在用户体验上是有问题的。
- 每次切出APP再切回APP都展示广告,很明显,这个做法太影响体验,造成用户抱怨太多。
老板发火,不好惹,加班改!
APP缓存广告图片时,同时将APP的起止日期数据缓存下来,下次展示广告时,先判断缓存的广告是否在有效期内,不在的都不展示。
通过home键切出切回的情况:AM6:00 – PM2:00:如果当前时间内没有显示过广告,则显示一次,显示过则不再显示;PM2:00 – 第二天AM6:00:如果当前时间内没有显示过广告,则显示一次,显示过则不再显示。(这个时间设置的原因主要是我们APP日启动次数不算太高,在4-5次左右)
开发,测试,上线,完美!
完整方案总结:
- APP每次启动时都从缓存中获取广告并展示,同时要对本地的缓存进行更新;
- 展示缓存广告时,需判断广告是否在有效期内;
- 针对home键切出切回问题,以及考虑用户体验的情况下,需对广告展示的时机和次数做限制。
小结
(1)APP启动广告要有跳过的功能,给予用户一定的选择权利。
(2)常规看到APP启动时,其启动图片底部与广告底部一样,这种做法有两种:
- 一是广告图片在设计时,其底部保持与启动图片底部一致(样式、大小尺寸);
- 二是可以在APP启动广告上层添加一张只有底部而上部分透明的图片(这种也需要设计广告图片时底部不能设计有效内容)。
虽然我们采用的是第二种,但现在我更倾向于第一种,因为图片设计可以更多样;第二种限制了所有的图片都有固定的底部。
(3)现在的方案未能考虑到紧急下架的情况,当前方案下,即使广告紧急下架,如果缓存中存在,广告仍会展示(因为紧急下架未改广告有效期,在有效期内就会展示)。
漫漫产品路,需不断上下而探索!
本文由 @ 桃花仙坞 原创发布于人人都是产品经理。未经许可,禁止转载
题图来自Unsplash,基于CC0协议
如果我们按照次数显示,短时间内没有更新过广告,A广告显示了1w次 B广告100次,此次更新了C0次展示的广告进来,那是不是要等到C广告到100次时候BC才会循环展示,到了1w次ABC才会循环显示
为什么要按次数显示呢?
咨询一下楼主,最近要做广告方面的需求,有介绍广告方面的书籍吗?
每次启动不是要查更新嘛
那个每次启动时候都将后台广告缓存的话,第一次启动有没有可能加载不出来啊?
第一次启动的时候预缓存后再显示,不知道这个思路对不对
楼主你好,我想请教一下,为什么开屏广告的跳过功能有些在右上角,有些在右下角呢?
右上角跳过不太方便,是为了让用户多看一会广告,增加点击的概率;右下角是为了考虑用户体验,提升友好度,一定程度上牺牲点击率。看产品对广告的定位,自行取舍。
开始日期还有切出去再切回显示广告这个逻辑硬伤就不谈了,都是成长的过程。但看下来感觉还缺点技术知识,什么叫“一张只有底部而上部分透明的图片”,其实只需要添加一条图片banner在屏幕底部,覆盖在广告图片上即可,不存在上部分透明图片一说。
我想请教一下楼主,不同分辨率的手机,开屏广告的图片怎么自适应?
我们用了一个常规尺寸的:1920 X 1080;手机市场的目前常规是16:9;该尺寸已经满足大部分手机屏幕图片清晰且能完全展示(该尺寸在目前的2K屏中也能保障图片清晰质量)。
另外,虽然全面屏手机越来越多,非16:9的手机屏比越来越多,只要技术针对不同比例的屏幕做些适配就行,比如图片等比例缩放填充满屏幕(保障图片不变形,此外图片设计时,尽量周边不要有主要信息,以免在缩放填充屏幕时被挡住)
逻辑清晰严密,谢谢楼主的精彩分享
谢谢您的评价!
广告带有一定的时效性,其实可以在每天第一次启动APP的时候判断广告是否更新,若已更新则重新加载广告图片,未更新展示本地内容。
这样的话,是不是又遇到文章中说的那个问题,重新加载新的广告图片,如果遇到网络等问题,还是会造成图片加载缓慢/无法加载的问题?
不会的。第一次打开后。判断是否有新的数据更新,已经写入缓存了。这一天里面,都不会去请求网络的数据。而是直接读取你本地缓存的。
广告是有时效的。什么是时效?即开始时间和结束时间。结束时间到期后,后台没有新的广告更新,到期的广告难道就不下架了么?作者的解决方案没毛病。
空空_PM的意思我理解认为应该是我尾末说的情况,即广告在结束日期前,在后台被紧急下架或调整了,这种情况目前我负责的APP中还没考虑进去
如果是紧急下架,技术可以写接口监听的。定时去检测数据库中数据状态。当然这种设置,会增大开销。得看这种紧急下架的情况,发生的频率。是否值得去监听。
紧急下架或调整是否属于单方违约?这种情况发生的几率有多大?伪需求好么。
开始和结束时间。大部分都是按自然日来计算的。广告的时效,难道要精确到秒么?今天第一次打开,就可以判断这广告是否过期了。
像文中所说,加载的广告是根据日起来判定是否有效本身就存在很大的不确定性,广告本身具有一定时效性,所以最好的还是在一定的时间请求服务器来判定广告是否更新,至于说可能出现的问题则可以制定应对策略进行规避。