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(AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER);//展示广告条,广告条的尺寸为标准的Banner,广告位置是在底部居中

使用绝对位置展示广告

  上面代码使用的是相对位置的方式展示条形广告,也可以使用Admob Ane的绝对布局方式展示广告

Admob.getInstance().setKeys("条形广告ID","全屏广告ID");//广告ID是上面提到注册获取到的,这样就设置初始化了Admob
Admob.getInstance().showBannerAbsolute(AdmobSize.BANNER_320x50,0,100);//展示广告条,广告条的尺寸为标准的Banner,广告位置是顶部往下移动100像素

Admob原生广告展示

  原生广告和横幅广告非常类似 ,但是可以通过服务器端自定义css样式类自定义广告的显示效果。其接口也和横幅的基本类似,但是可以通过设置名称,在一个界面上展示多个横幅广告


admob.showNativeBannerAbsolute(nativeID,new AdmobSize(320,132),0,260);//nativeID就是广告ID,广告条的尺寸为Admob后台自定义的尺寸,广告位置是顶部往下移动260像素
隐藏原生广告

admob.hideNativeBanner();

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);

给IOS添加网络请求权限

  升级air到21以及之后的版本很多人会发现无法请求网络和广告无法显示的情况,原因是ios9增加了网络请求权限设置。air21之后对ios9支持,也就 需要配置权限。

对xml增加配置就行,例子如下

 
<iPhone>
<InfoAdditions><![CDATA[
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
]]></InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>

添加Android配置

  对于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>

返回常用ANE汇集

下载

联系

Email:wohaosea@gmail.com

qq群:56892018

copyright CUO GAME 浙ICP备15022781号-1