果合广告平台有意屏蔽易传媒和亿动广告展示,令开发者蒙受损失
本人曾经接入过国内多家知名的广告SDK。在去年下半年开始,我打算使用移动广告聚合工具,找了几个像adview,果合,芒果等。经过一番比较,发现果合和一家之前广告做得铺天盖地的LBS服务商街旁是一家公司的,公司名叫“我在”,它同时在运营HTC APP Store。感觉果合的实力和背景比较雄厚,我就开始采用它的聚合平台的Android SDK来帮助我在各家广告网络之间切换流量,初期觉得这种方式不错,不用我频繁地更换SDK来切换各家广告网络。可是后来发现,本来也一直在用的亿动智道的点击率开始急剧下降,咨询了亿动智道客服,一直没有得到解决。
前几天果合在微博发布了一则消息,说明更新了Android SDK 1.2.6, 还特地花了较长篇幅说这个版本解决了亿动智道广告展示不能正常显示的问题。而随后亿动官方微博立刻对这条微博进行了转发。莫非我的问题和果合SDK的问题有关系?
在好奇心的驱使下本人立即去果合网站下载最新版SDK,但是在SDK下载页面并未发现其微博所言的新版Android SDK1.2.6,声明中列明的有问题的Android SDK 1.2.1至1.2.5版本仍然可供下载。不过这几个版本的SDK究竟有什么问题呢?下载了果合Android SDK 1.2.5反编译后研究发现原来奥秘在此:
if ((mAdView.getId() == Utils.TYPE_SMARTMAD.intValue()) || (mAdView.getId() == Utils.TYPE_ADCHINA.intValue())){
for (int index = 0; index < this.mGHView.getChildCount(); ++index){
if((((this.mGHView.getChildAt(index).getId()==Utils.TYPE_SMARTMAD.intValue())||(mAdView.getId()==Utils.TYPE_ADCHINA.intValue())))&&(this.mGHView.getChildCount()>4)) {
isRemoveAll = true;
}
else if ((this.mGHView.getChildAt(index).getId() != Utils.TYPE_SMARTMAD.intValue()) && (this.mGHView.getChildAt(index).getId() != Utils.TYPE_ADCHINA.intValue())) {
int tempIndex = index;
try {
((Activity)this.mGHView.getContext()).runOnUiThread(new Runnable(tempIndex){
public void run() {
try {
BaseAdapter.this.mGHView.removeViewAt(this.val$tempIndex);
}catch (Exception e) {
e.printStackTrace();
}
}
});
}catch (Exception e) {
e.printStackTrace();
}
}
}
}else {
isRemoveAll = true;
}
从以上这段代码可以看出,尽管果合表面上声称是允许开发者自由选择切换不同广告网络以优化营收,不过实际上一直以来(至少在之前几个版本中)它对易传媒和亿动智道的广告SDK做了“特殊处理”。
简单来说,就是这两家的广告的被变向或有意地进行了屏蔽。结合果合微博中提到的“如果您的应用使用了 Android SDK 1.2.1 到 1.2.5 版本,并在广告配置中选择了亿动智道的广告,那么可能在广告请求后,前述版本会导致亿动智道的广告不能在广告位中正常显示,最高会有75%概率的广告因超出手机屏幕而不能正常展示”。那应该就是这组代码造成播到易传媒和亿动智道广告时,仅第一次广告显示,之后的广告都不会显示在手机上,易传媒和亿动智道那边计到了展示,但是用户根本看不到广告也就不会点击,点击率低下是肯定的了。因为这两家的广告正常展示的几率可能低至25%!
原来如此!原来我的一些展示被果合SDK“偷”走了,这就让人不免好奇,果合这种直接损害开发者利益,针对国内两家知名广告网络(一家快上市了,一家可以说是国内移动广告量最大的广告网络)的“手脚”究竟符合谁的利益?
这我就闹不明白了,果合的这个移动APP广告聚合工具不是应该完全中立,让app开发者自己切换广告流量达到营收最大化吗?这种针对两家最大的移动广告网络的广告进行屏蔽的行为,结果却是让我们开发者完全结算不到钱。
让开发者赚不到钱,果合就能赚到钱了吗?