本帖最后由 破晓 于 2015-4-23 15:30 编辑
Admob ANE使用教程
给flash air ios和android移动应用添加Google Admob广告
简介 flash移动应用中直接添加广告是不行的,一般的广告平台都没有as3版本的sdk,但是可以通过Adobe Native extention来实现。Admob Ane是google Admob广告的一个插件,可以使我们As3开发者在android和ios应用中添加展示广告,从而增加收入。
Admob Ane可以在air中添加条形广告和全屏广告,支持ios和android俩个平台,不需要修改代码,刚好符合air跨平台的特点。 Air sdk版本要求3.1或者更高,当然用最新的air 16也没问题,完全支持ios64位和android x86等平台。
添加插件后的应用在pc上可以正常运行,但是不会展示广告,只有在真实设备上才会有广告。 注册Admob账号 在开始代码之前,先去http://www.admob.com上创建账号,然后添加应用和广告单元。创建广告单元完后可以得到广告ID以供代码中使用,格式如ca-app-pub-1131224256498916/7747386983 。
因为google遭到中国政府的封杀,所以有时候admob的官方网站打不开,那就要找个vpn,通过vpn代理来访问admob。测试admob广告的时候如果经常性不显示广告 也可以手机连接vpn尝试下。 flex 应用添加Admob 条形广告 在开始代码之前,需要先把admob.ane添加到编译路径中。
注意:大部分情况下都直接使用admob_all_in_one.ane文件。admob_without_gp.ane不包含admob android sdk,如果没有使用其他已经包含gps的ane是无法展示广告的。 - Admob.getInstance().setKeys("条形广告ID","全屏广告ID");//广告ID是上面提到注册获取到的,这样就设置初始化了Admob,设置ID只需要设置一次,如果后面展示全屏广告等无需再次设置
- Admob.getInstance().showBanner(Admob.BANNER,AdmobPosition.BOTTOM_CENTER);//展示广告条,广告条的尺寸为标准的Banner,广告位置是在底部居中
复制代码 使用绝对位置展示广告
上面代码使用的是相对位置的方式展示条形广告,也可以使用Admob Ane的绝对布局方式展示广告- Admob.getInstance().setKeys("条形广告ID","全屏广告ID");//广告ID是上面提到注册获取到的,这样就设置初始化了Admob
- Admob.getInstance().showBannerAbsolute(Admob.BANNER,0,100);//展示广告条,广告条的尺寸为标准的Banner,广告位置是顶部往下移动100像素
复制代码 as3应用中展示Admob全屏广告教程
全屏广告盈利单价比banner广告更高,也因为不占固定位置更好控制。air中展示全屏广告也很方便。直接上代码。 代码中添加了admob的事件监听器,在收到全屏广告已经加载成功后,把它展示在屏幕上。- Admob.getInstance().setKeys("条形广告ID","全屏广告ID");//广告ID是上面提到注册获取到的,这样就设置初始化了Admob
- Admob.getInstance().addEventListener(AdmobEvent.onInterstitialReceive, onAdEvent);
- Admob.getInstance().cacheInterstitial();//展示广告条,广告条的尺寸为标准的Banner,广告位置是顶部往下移动100像素
- private function onAdEvent(event:AdmobEvent):void
- {
- if (event.type == AdmobEvent.onInterstitialReceive)
- {
- Admob.getInstance().showInterstitial();
- }
- }
复制代码 如果不希望在接受完成时就展示广告,也可以在需要的时候调用,先检查是否加载成功,如果成功了就展示- if (Admob.getInstance().isInterstitialReady())
- {
- Admob.getInstance().showInterstitial();
- }
复制代码 给admob设置额外变量参数
有时候想对admob广告进行更细的控制,例如应用是否是在开发进行中,应用是否是儿童应用,广告位置,颜色等。这些设置ane都有接口实现。 额外参数的传入一般是在show接口的后面添加个参数,如下例子- var extraParam:ExtraParameter=new ExtraParameter();//额外参数控制对象
- //extraParam.isChildApp=true;//设定是否是儿童应用
- extraParam.testDeviceID="true";// 设定是否是在开发和测试中,如果是android的直接设定true就会展示测试广告,如果是ios则需要获取设备ID才能展示测试广告
- extraParam.setLocation(40, 40);//设定位置
- extraParam.birthday=new Date();//设定用户生日
- extraParam.contentUrl="http://www.google.com";
- extraParam.keyWord="air admob ane";//设定关键字
- Admob.getInstance().showBanner(Admob.BANNER,AdmobPosition.BOTTOM_CENTER,extraParam);
复制代码 添加修改配置
对于air android应用需要配置权限和activity才能显示广告。在xxx-app.xml中添加下面的代码。对于IOS应用无需额外配置。
注意:flash cc,flash cs 工具会自动修改xxx-app.xml文件,从而导致配置总是失败。解决办法是在flash cc的右侧导出面板中把配置管理中的自动选项改成手动管理。- <android>
- <manifestAdditions><![CDATA[
- <manifest android:installLocation="auto">
- <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"/>
- <application>
- <meta-data android:name="com.google.android.gms.version"
- android:value="@integer/google_play_services_version" />
- <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
- </application>
- </manifest>
- ]]></manifestAdditions>
- </android>
复制代码
本文来自:http://www.cuo.so/ane-list/admob-ane.html
|