[原创]浅谈移动App广告平台的设计

前言

依靠广告盈利占据了国内移动App盈利模式的半壁江山。很多App刚刚有点流量的时候都会考虑是不是做个自己的广告投放系统以支撑业务未来的需求。

笔者在工作中有幸接触到了一些有这类需求的App,这些App在自有广告系统中总有这样或那样的功能性缺失,这不可避免的会造成一些业务上的损失。
主要的功能缺陷集中在对品牌类广告主的需求满足上。相对于效果广告主来说,品牌广告主是一类让人又爱又恨的主儿。爱是因为品牌们都是有钱的主儿,能被品牌们看上也说明了自己的江湖地位。恨是因为品牌们都是事儿妈,销售和运营们7*24的伺候着不说,还总提出层出不穷匪夷所思的投放功能需求才是最让人恨的地方。

尽量使用国内服务

这一点很重要,必须先说明:不管你看到的国外的某个网站有多牛,追踪效果、报表有多酷,但是只要你的目标用户在国内,尽量使用国内的服务,原因不细说,心里明白就行。

使用WebView展示广告

从最基本的图片显示需求开始,80%的开发者首先想到的肯定都是有个尺寸,图片地址,点击地址,在App上使用一个Image View显示一下应该就足够了吧,因为业务人员往往就是这样描述他们的业务场景的。但是在实际的业务场景中往往会有很多变数:比如需要增加展示监控,增加广告关闭按钮(免得金山毒霸之类的给你的App上加一个,还有可能引发不兼容等问题)。
此外,移动领域的广告让品牌广告主非常心动的一点就是有丰富的人机互动和表现能力,比如晃动,涂抹,重力感应等。如果有这类需求开发人员会发现原来的ImageView太简陋了,而且需求不明确的情况下也没法实现开发和投放,因此基本上调研之后都会转而使用Web View来展示广告。WebView的缺点是比较消耗资源,一个WebView的创建一般都需要200ms左右,但是只要稍微做些优化,这个损耗和App3,4秒的启动速度相比就不足挂齿了,用户体验不会有明显差异。比如WebView要渲染完毕再展示,出场有个动画(这个地方的灵活性可以参考jquery的动画)就可以给用户更好的体验。
。这时候投放系统可以实现图片,文字链,视频,HTML5动画等广告展示形式,几乎无所不能了,如果仔细研究一下各家专业移动广告平台的投放,这些几乎已经是标配。

展示监控

很多品牌广告主往往一上来就指明要展示监控,说简单一些就是用户每次看到广告,需要通知广告主发生了一次展示。品牌广告主们往往不会拥有自己的系统,而是找代理商,代理商有时还会再找个第三方监控平台以示公正。这一点要是不能满足,这单估计就保不住了。做展示监控要特别注意几点:

  • 展示监控链接会有跳转行为,所以千万别访问一下就完事,要有两跳,但至多三跳。一般来说四跳非常非常少见,五跳以上基本可以认为对方的系统出问题了…;
  • 有的监控链接还会要求有动态参数,一般是用户的标识符,包括iOS的MAC地址,广告追踪ID,OpenUIDID(UDID可以不用再考虑了);Android的EMSI SIMID AndroidId等;
  • 有些情况下也可以做服务器转发,但是客户端的IP之类的信息得附带上,同时得与代理商和第三方监控提前沟通,否则转发服务器的IP会被认为是作弊;
  • 展示次数差异一般上下浮动10%是正常现象,因为国内网络复杂度及终端用户的网络质量都是不可控因素。

点击链接

点击链接与显示链接一样,可能会有参数的替换。所以在App前端的系统设计上千万不要把参数和顺序定死,最好的方式是模板式替换。如果App本身也带监控,最好是采用多线程式同时触发。可以想到如果采用顺序式触发万一某个服务挂了就会影响后续的监控。
在点击链接的跳转上,每一次跳转可能都有5%左右的损失,所以要提升到达率就需要尽可能减少跳转的次数。
不同的系统兼容性不一样,这里还有一个URLencode的坑:要注意每一个链接都是有多个参数的,拼接跳转链接时记得做URLencode处理,不要丢参数;同时每一个参数最好做一次decode的检查,特别是参数有中文的情况下,没有URLencode过的要专门处理一下。
点击之后的打开行为,一般分为应用内打开,应用外打开,其他行为三类。手机上比较独特的一点就是其他行为,包括拨打电话,发送短信,邮件,启动其他应用等,这些基本都可以通过系统调用实现,在开发的时候要特别注意。
iOS6以后有个应用内下载功能要注意集成进App,能非常大的提升App类广告的转化率。
笔者深有体会的是Android的应用外打开非常坑爹,会导致50%以上的点击丢失!原因是用户安装了两款以上的浏览器时系统会询问用户。一个非常有用的实践中得来的经验是App内置一个浏览器来打开着陆页,或者强制指定一个默认浏览器。

屏幕密度

Android上的屏幕密度问题。得益于苹果高超的工业设计和制造水准,将高清屏引入了智能手机产品当中。但悲摧的是由于Android的制造厂家众多,标准不一,在Android上要特别注意对高清屏的处理,否则 图片尺寸变形在所难免。

视频广告

视频广告虽然目前还不是主流,但还是值得一提。首先是视频的自动播放,一般广告主会要求在Banner上点击以后全屏播放,如果用着陆页直接链接视频文件的方式,可以实现自动播放,但是会无法追踪用户的后续行为。解决办法是要么在Banner上直接播放,要么自己用Native Code处理一下。其次是用户观看视频的时长追踪。举个栗子,假如一个视频有25秒,广告主如果要求提供看完视频的用户个数,看完20秒视频的用户个数,看完15秒视频的用户个数,系统得能够支持这样的追踪。而且视频广告一定要提前在不同的Android机型和系统版本上测试兼容性。

广告后台

广告后台要注意的首先就是各种定向的需求,专业广告平台的定向类型非常多,但是作为非专业的App后台,只需包含地域定向和按小时包段投递等简单定向即可。如果想更进一步深入研究广告投放系统,可以参考一下
百度广告管家(http://adm.baidu.com/index.html)
谷歌DFP(https://www.google.com/dfp/)
OpenX(http://www.openx.com/mobile)
以及师徒网的计算广告学这门课程(http://sheetoo.com/app/course/ov?course_id=200)

最后再说说广告的投放和渲染。为了节约服务器流量,投放出来的广告一般是数据加模板地址,模板放在CDN上,本地可以对模板和图片等广告物料资源进行缓存。其余诸如把模板下载到本地,然后填充数据,再使用WebView渲染等都是非常基础和具体的开发工作了,这里就不再一一细说。

Leave a Reply

Your email address will not be published. Required fields are marked *