集成广告平台可以根据各个广告平台的文档进行,为了迅速快捷的进行集成测试,我们选择Keymob广告管理库。keymob有个特点就是可以直接配置 json格式文件来设置各个广告平台的信息,非常快速便捷,也可以配合Keymob网站来管理配置信息。广告聚合管理库可以在git上下载到。
获取Android广告管理库
要在手机应用里面展示广告需要在应用里面添加广告管理库,Keymob广告管理库目前的版本是20150801 下载解压后可以看到android工程的目录结构,大部分常规的android工程文件和目录,下面资源是Keymob管理库相关的。
README.md keymob 英文快速集成文档
README_zh.md keymob 中文快速集成文档
libs
okeymobad.jar keymob 广告管理核心库
assets
ocom_keymob_sdks keymob 备用平台
obiduad_plugin keymob 百度平台需要的资源
ogdt_plugin keymob 广点通平台需要的资源
注意:assets目录下的三个文件夹以及文件夹下面的文件都不能修改名称com_keymob_sdks 目录下面有个 AdmobAdapter.jar 表示Keymob使用admob作为无法连接Keymob时的备用广告平台 如果想改用别的平台 可以下载更多的备用平台。除上面下载的资源外,使用keymob支持的平台,无需再单独添加各个平台的代码。
添加管理库到eclipse工程项目
1.复制下载到的 keymobad.jar 到自己android工程的libs下
2.复制下载到的 com_keymob_sdks 到自己android工程的assets下
3.如果要使用百度广告平台,复制下载到的 biduad_plugin 到自己android工程的assets下
4.如果要使用广点通平台,复制下载到的 gdt_plugin 到自己android工程的assets下
添加广告相关java代码
1.首先import keymob相关的类
import com.keymob.networks.AdManager;
import com.keymob.networks.core.*;
import com.keymob.sdk.core.AdTypes;
2.初始化Keymob
初始化Keymob管理库是调用其他广告功能函数的前提,必须先初始化才能做别的调用,下面初始化keymob,jsonString是各个广告平台的配置信息AdManager.getInstance().initFromJSON(active,jsonString,new AdEventListener());
参数说明
this 第一个参数active是广告上下文,非null
jsonString 第二个参数是上面的json配置字符串,包含各个广告平台的配置信息
AdEventListener 广告事件处理类,实现接口IAdEventListener,如果不计划处理广告事件可以为null
3.展示广告
下面把显示横幅广告在绝对位置(0,200)示例
AdManager.getInstance().showBannerABS(BannerSizes.BANNER, 0, 200);
参数说明
BannerSizes.BANNER 第一个参数广告尺寸,所有默认支持的广告横幅尺寸都在BannerSizes类中
"0" 第二个参数是广告的位置x
"200" 第二个参数是广告的位置y
4.添加广告权限
编辑AndroidManifest.xml 给应用添加需要的权限,例如网络请求,下面是大部分广告平台需要的权限
<!-- base permission -->
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- base permission for location-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!-- base permission required by chartboost and baidu-->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- permission required by mmedia -->
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-feature android:name="android.hardware.microphone" android:required="false" />
5.添加广告Activity等配置信息
编辑AndroidManifest.xml 给应用添加广告平台的Activity,未添加平台的activity将无法展示平台广告
<meta-data android:name="com.google.android.gms.version" android:value="7327000" />
<activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent"/>
<!-- Amazon Mobile Ads -->
<activity android:name="com.amazon.device.ads.AdActivity"android:configChanges="keyboardHidden|orientation|screenSize"/>
<!-- InMobi -->
<activity android:name="com.inmobi.androidsdk.IMBrowserActivity" android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:hardwareAccelerated="true" />
<!-- Millennial Media -->
<activity android:name="com.millennialmedia.android.MMActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:configChanges="keyboardHidden|orientation|keyboard|screenSize" >
</activity>
<!-- Keymob -->
<activity android:name="com.keymob.sdk.core.KeymobActivity" android:theme="@android:style/Theme.Dialog" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
/>
<!-- baidu -->
<activity android:name="com.baidu.mobads.AppActivity" android:configChanges="keyboard|keyboardHidden|orientation"/>
<!-- adcolony -->
<activity android:name="com.jirbo.adcolony.AdColonyOverlay" android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen" />
<activity android:name="com.jirbo.adcolony.AdColonyFullscreen" android:configChanges="keyboardHidden|orientation|screenSize" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
<activity android:name="com.jirbo.adcolony.AdColonyBrowser" android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" />
<!-- guang dian tong -->
<service android:name="com.qq.e.comm.DownloadService" android:exported="false"/>
<activity android:name="com.qq.e.ads.ADActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenSize"/>