说起广告,那真是我们痛恨的东西,想想一个游戏被广告条占去了1/5的屏幕空间真的是很扫兴的一件事。。用户讨厌广告,开发者却喜欢, 因为广告能带来收益,软件下载量大的免费应用通过广告获取的利益真的不小。 目前Android平台广告主要由Google和admob提供,虽然Google已经收购了后者,但实际上两者的SDK还是独立的,不能互相融合。 Admob admob广告首先需要导入AdMob Android SDK,需要在AndroidManifest.xml内注册:
还有在相应layout内创建元素
*admob的广告下载源为: http://r.admob.com/ad_source.php ;http://mm.admob.com ;http://api.admob.com Google Ads Google Ads的SDK已经包含在Android SDK内,也同样需要在AndroidManifest.xml内注册:
需要在相应layout内创建元素
*Google的广告下载源为: http://pagead2.googlesyndication.com/pagead/afma_load_ads.js 去除广告 (*注:需要熟练使用apktool等反编译工具,本文不就如何操作进行解释,更多请参考我之前的博文) 通常来说,去广告主要分两部,第一步是禁止广告下载,第二部是将广告条从界面上移走。 1.禁止下载 上文我已经给出两者的广告源了,我们要做的就是将其屏蔽,最简单的方法就是将url换为127.0.0.1(Localhost) 或者0.0.0.0(Default route) 当然,也可以换成在兲朝不存在的url,比如twitter.com (开个玩笑 : P) 2.修改layout 修改之前需要先对Android的layout xml稍作一些解释。
这是一个普通LinearLayout布局内的元素,id为”ad” ,顾名思义就是广告。下面的layout_width和layout_height指的是这个广告 元素的宽度和高度。值”fill_parent”意为填充满父容器。 我们的目的是不显示广告条,我的方法是将layout_height的值改为”0.0dip”,也就是高度0像素,那广告自然就不显示了。 彻底一点的话,直接删除这个id为”ad”为元素就行,不过我不推荐,修改当然是改动越少越不容易出错咯~ ①admob:只需要在layout内找到广告条对应的元素,修改layout_height的值就行。 ②Google:在对应layout内寻找 <com.google.ads.GoogleAdView 将这段特殊的item删除就行。 ③具体是哪个xml就要靠摸索了,layout下每一个xml都对应着一个活动(activity),也就是一个界面,通过xml的名称是很容易辨析的。 比如说,广告条出现在主界面,那就找main.xml;出现在设置界面,那就找perference.xml 写在最后 这些方法不是万能的,也不是唯一的,有些程序只有一种广告,干掉他很简单,照着我的方法做就行。而有的就很变态,例如海豚浏览 器和Chompsms,不单单带有admob和Google的双重广告,甚至还有自家的广告服务,不过原理还是一样的,还是那两步。也有的程 序加入了自校验,对程序本身的任何修改都会让程序无法启动,这我也没辙了。。。 最后推荐一个应用,adfree,从外部屏蔽广告下载,admob和Google的都能屏蔽,缺点是部份程序layout会有一块空白。 |
谈谈Android平台广告去除方法
最新推荐文章于 2023-09-28 16:51:25 发布