Adobe Air 的 Firebase Admob 中介 ANE
Google Firebase Admob Mediation Ane 为 flex 和 flash 开发者提供 as3 api 将 admob、unityads、inmobi、chartboost、vunlge 和 gdt 集成到 adobe air ios 和 android 应用程序中,支持横幅广告、插页式广告、原生快递广告和视频,不需要 java或 oc.支持横幅、插页式、原生快递广告、视频
快速开始
在 as3 中显示 firebase 横幅广告
Admob.getInstance().showBanner("your banner id",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER);
AdmobPosition 类指定放置横幅的位置。AdmobSize 指定要显示的女巫大小横幅
移除 Firebase Admob 中介横幅
Admob.getInstance().hideBanner();
显示 Admob Native Express 广告
原生快递广告是一种类似于banner的admob新广告格式,如何在flash air ios和android应用中展示原生快递广告?它的 api 也类似于横幅。
Admob.getInstance().showNativeBannerAbsolute(nativeID,new AdmobSize(320,132),0,260);
nativeID 来自 apps.admob.com 格式,例如 ca-app-pub-3940256099942544/2562852117 AdSize 是您在 apps.admob.com 中设置的值
隐藏 admob 原生横幅
Admob.getInstance().hideNativeBanner();
在同一屏幕上显示多横幅或原生横幅。
如果要在同一屏幕上显示多个横幅,请设置横幅名称如下。
Admob.getInstance().showBanner("your banner id",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER,0,null,"bannerName1");
隐藏命名横幅
Admob.getInstance().hideBanner("bannerName1");
Admob ANE 显示插页式广告
Admob.getInstance().cacheInterstitial("interstitial id");
插页式广告需要在显示之前加载。在您的应用程序中的适当停止点显示,在显示之前检查插页式是否准备好:
if (Admob.getInstance().isInterstitialReady()) {
Admob.getInstance().showInterstitial();
}
设置 Admob 目标参数
设置 Admob 目标参数,例如测试广告和儿童应用如果您想测试广告或带有儿童目标的应用,您可以使用 admob ANE 轻松设置
extraParam=new ExtraParameter();
extraParam.testDeviceID="true";
extraParam.isChildApp=true;
Admob.getInstance().showBanner("banner ID",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER,80,extraParam);
处理 admob 事件
Firebase admob ane 支持所有 admob 原生事件,您可以如下处理
Admob.getInstance().addEventListener(AdmobEvent.onInterstitialReceive, onAdEvent);
private function onAdEvent(event:AdmobEvent):void
{
if (event.type == AdmobEvent.onBannerReceive)
{
trace(event.instanceName,event.data.width, event.data.height);
}
if (event.type == AdmobEvent.onInterstitialReceive)
{
Admob.getInstance().showInterstitial();
}
}
IOS权限配置
ios 9 需要 NSAppTransportSecurity,要允许 http 请求,需要添加 NSAppTransportSecurity 密钥
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
安卓权限配置
<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.common.api.GoogleApiActivity"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:exported="false"/>
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent"/>
<activity android:name="com.chartboost.sdk.CBImpressionActivity"
android:excludeFromRecents="true"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"
android:configChanges="keyboardHidden|orientation|screenSize"/>
<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" />
<activity
android:name="com.unity3d.ads.android.view.UnityAdsFullscreenActivity"
android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
android:hardwareAccelerated="true"
/>
<activity
android:name="com.inmobi.rendering.InMobiAdActivity"
android:configChanges="keyboardHidden|orientation|keyboard|smallestScreenSize|screenSize"
android:hardwareAccelerated="true"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
tools:ignore="UnusedAttribute" />
<receiver
android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver"
android:enabled="true"
android:exported="true"
tools:ignore="ExportedReceiver">
<intent-filter>
<action android:name="com.inmobi.share.id" />
</intent-filter>
</receiver>
<service
android:name="com.inmobi.signals.activityrecognition.ActivityRecognitionManager"
android:enabled="true" />
<activity
android:name="com.vungle.publisher.FullScreenAdActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
</application>
</manifest>
]]></manifestAdditions>
</android>
ANE ID
<extensionID>com.google.firebase.admob</extensionID>
项目主页https://github.com/monumentichb/Firebase-Admob-Mediation-ANE