为什么要做?
其实很简单,为了钱!
当一个APP积累了一定的用户量时,除了APP自身内容产生商业价值外,老板就会要求寻求更多能带来收入的功能。广告是目前大多数产品的主要盈利手段,在APP中,启动广告的报价一般都是最高和争抢的。
当然,启动广告除了可以投放商业广告外,还可以宣传和推广公司的新产品、新活动等内容。
怎么做?
初次接到需求时,简单看了一些竞品,觉得十分简单(主要是当时自己经验不足,初入行半年左右),简单设计了一个方案就进入开发阶段,之后上线。上线之后遇到各类情况以及新的需求,让我发现看似简单的开屏广告,却不简单。
初次上手
最初,接到需求后,设计的方案如下:
在广告系统建立“APP开屏广告”广告位,广告位中可以添加多个广告,用户每次启动APP时,随机获取该广告位中的一个广告。
开发,测试,上线,完美!
二次改进
刚开始一切完美,广告正常展现、跳转正常。可不多久,就发现了问题:
- 网络不佳时,广告图片加载慢,造成倒计时结束图片还没加载出来,屏幕白屏情况;
- 用户如果通过home键(尤其是iPhone)切出APP后,由于APP进程未杀死,用户再次进入APP时就不会再出现广告,可能造成用户长时间段内不会看到广告,这与商业初衷相背离。
基于以上原因,开始了第二次迭代,方案如下:
针对网络慢等造成图片无法加载的问题:APP每次启动时,都将所有的后台广告缓存到本地,用户再次启动APP时,从缓存中随机获取一个广告并展示,同时程序更新缓存的广告。
针对用户home键切出APP的问题:用户每次进入APP时(即使是通过home键切出后再切回),都展示广告。(真不知道自己当时是怎么想的,这么影响用户体验的