要在手机应用里面展示广告需要在应用里面添加广告管理库,KeyMob广告管理库目前的版本是20150801 下载解压后可以看到flash air工程的目录结构,大部分常规的flash air工程文件和目录,下面资源是KeyMob管理库相关的。
A:README.md KeyMob 英文快速集成文档
B:README_zh.md KeyMob 中文快速集成文档
C:anes
KeyMob1.0.ane KeyMob 广告管理核心库
Src
1:com_KeyMob_sdks KeyMob 备用平台
2:biduad_plugin KeyMob 百度平台需要的资源
3:gdt_plugin KeyMob 广点通平台需要的资源
注意:上述src下目录和目录下面的文件都不能修改名称
com_KeyMob_sdks 目录下面有个 AdmobAdapter.jar 表示KeyMob使用admob作为无法连接KeyMob时的备用广告平台如果想改用别的平台 可以下载更多的备用平台。
除上面下载的资源外,使用KeyMob官方支持的平台,无需再单独添加各个平台的代码
添加管理库到flash mobile工程项目
添加使用广告管理库需要下面几步骤:
1复制 KeyMob1.0.ane 到自己flash air工程的下,然后添加到编译路径
2复制 com_KeyMob_sdks 到自己flash air工程的src下
3如果要使用百度广告平台,复制 biduad_plugin 到自己flash air工程的src下
4如果要使用广点通平台,复制 gdt_plugin 到自己flash air工程的src下
添加广告相关as3代码
1.首先import KeyMob相关的类
import com.KeyMob.*;
2.初始化KeyMob
初始化KeyMob管理库是调用其他广告功能函数的前提,必须先初始化才能做别的调用,下面是使用KeyMob.com 服务的初始化方式
KeymobAD.getInstance().initFromJSON(jsonString);
参数说明
jsonString 是上面的json配置字符串,包含各个广告平台的配置信息
3.展示广告
下面把显示横幅广告在绝对位置(0,200)示例
KeyMobAd.getInstance().showBannerABS(AdSizes.BANNER,0,200);
参数说明: AdSizes.BANNER 第一个参数广告尺寸,所有默认支持的广告横幅尺寸都在AdSizes类中 "0" 第二个参数是广告的位置x "200" 第二个参数是广告的位置y
4.添加广告权限
编辑xxx-app.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等配置信息
编辑xxx-app.XML给应用添加广告平台的Activity,未添加平台的activity将无法展示平台广告
<!-- Admob -->
<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"/>
广告平台信息配置文件模板
平台参数以json的格式组织,样子如下:
{
"isTesting":true,//是否是测试模式
"rateModel":1,//广告平台排序规则,0表示priority是权重,各个平台按比例显示广告,1表示priority是顺序,各个平台按顺序展示广告
"platforms":[
{"class":"AdmobAdapter","priority":90,"key1":"ca-app-pub-xxx/xxx","key2":"ca-app-pub-xxx/xxx"},//admob 平台 ,key1 banner ID,key2全屏id
{"class":"AmazonAdapter","priority":20,"key1":"xxx"},//amazon 平台 ,key1 appkey
{"class":"ChartboostAdapter","priority":40,"key1":"xxx","key2":"xxx"},//chartboost 平台 ,key1 appID,key2 signature
{"class":"InmobiAdapter","priority":50,"key1":"xxx"},//inmobi 平台 ,key1 appid
{"class":"IadAdapter","priority":50,"key1":"877393773"},//iad 平台 ,android上会被自动忽略
{"class":"KeyMobAdapter","priority":50,"key1":"appid"},//keymob.com 自售广告,交叉推广需要
{"class":"BaiduAdapter","priority":50,"key1":"appsid","key2":"appsec"},//baidu 平台
{"class":"GDTAdapter","priority":50,"key1":"appid","key2":"banner id","param":"full id"},//广点通 平台,param也可以是json格式{"interstitialID":"全屏广告ID","appWallID":"应用墙ID"}
{"class":"AdcolonyAdapter","priority":50,"key1":"appid","key2":"full id","param":"video id"},//adcolony 平台
{"class":"MMediaAdapter","priority":10,"key1":"xxx","key2":"xxx"}//mmedia 平台 ,key1 banner ID,key2全屏id
]
}
各个广告平台Key1,Key2,param表示的意义:
1. Admob 1:key1 横幅广告ID 2:key2 全屏广告ID 3:param 无需设置
2. Inmobi 1:key1 广告属性ID 2:key2 无需设置 3:param 无需设置
3. Chartboost 1:key1 appId 2:key2 appSignature 3:param 无需设置
4. MMedial 1:key1 banner广告位id 2:key2 全屏广告位id 3:param rect广告位id
5. Iad 1:key1 app ID 2:key2 无需设置 3:param 无需设置
6. Amazon 1:key1 广告ID 2:key2 无需设置 3:param 无需设置
7. Baidu 1:key1 appID 2:key2 appsec,改版后和appid一样的值 3:param 无需设置
8. KeyMob 1.key1 应用ID 2.key2 无需设置 3.param 无需设置
9. 广点通 a.key1 应用ID b.key2 banner 广告位 c.param 针对IOS应用是全屏广告位,针对android是json格式的字符串,包括全屏和应用墙
{"interstitiID":"全屏广告ID","appWallID":"应用墙ID"}
10. Adcolony 1.key1 应用ID 2.key2 全屏视频广告ID 3.param 奖励型视频广告ID