- Admob ANE Description
- Admob ANE For Air Features
- Quick Start
1.Init Admob ANE
2.Add Admob Banner in adobe Air App
3.Remove Banner
4.Admob Native Express Ads
5.Admob ANE Show Interstitial
6.Custom Admob Banner Ad Sizes
7.Set Admob Target Param
8.Ad Events
9.Admob Rewarded Video
10.IOS permission config
11.android permission config
12.Screen size function
13.ANE ID - change log
- Screenshots
- Links
- License
This project is not maintain any more,you can check it out and edit or change to other project.
Admob Air Native Extention(Admob ANE) provides a way to integrate admob ads in Air ios and Air Android Game and app. You can use it for Air iOS and Android App with the same actionscript code,not need any change ,not need java or oc.You not need Admob ANE for ios and Admob ANE for android Separate version any more with this Ane.
The Google Mobile Ads SDK is the latest generation in Google mobile advertising featuring refined ad formats and streamlined APIs for access to mobile ad networks and advertising solutions. The SDK enables Air mobile app developers to maximize their monetization in native mobile apps.
- Support IOS and Android in one ane with the same api
- Support banner(All Banner Sizes)
- Support Intersitial
- Support Rewarded Video
- Support landscape and portrait and autoOrient
- Support AdRequest targeting methods,such as children target,test mode
- Support Air SDK 32 and Air 33
- Support IOS 8 to ios 13
- Very simple API
- Support android x64,x86,arm,and 32,64 bit support
Add Admob ane to air project build path , add the follow code in the script file
import so.cuo.platform.admob.*;
Admob.getInstance().initAdmobSDK(new ExtraParameter());
Here is the minimal code needed to show admob banner.
Admob.getInstance().showBanner("your banner ID ",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER);
The AdmobPosition class specifies where to place the banner. AdmobSize specifies witch size banner to show
By default, banners are visible. To hide a banner,
Admob.getInstance().hideBanner();
How to integrate Interstitial into Air ios app or flex android app? Here is the minimal code to create an interstitial.
Admob.getInstance().cacheInterstitial("your Interstitial ID ");
interstitials need to be loaded before shown. show at an appropriate stopping point in your app, check that the interstitail is ready before showing it:
if (Admob.getInstance().isInterstitialReady()) {
Admob.getInstance().showInterstitial();
}
In addition to constants on AdSize, you can also create a custom size:
//Create a 320x250 banner.
AdSize adSize = new AdSize(320, 250);
Admob.getInstance().showBannerAbsolute(adSize,0,30);
set Admob target param such as test Ads and children app If you want to test the ads or the your app with children target,you can set with admob ANE easy
extraParam=new ExtraParameter();
extraParam.testDeviceID="true";
extraParam.isChildApp=true;//if is tagForChildDirectedTreatment,set true
extraParam.nonPersonalizedAds=true;//if want to load non Personalized ads set true
Admob.getInstance().showBanner("Your banner ID",AdmobSize.BANNER_320x50,AdmobPosition.BOTTOM_CENTER,80,extraParam);
Both Banner and Interstitial contain the many ad events that you can
register for.
Here we'll demonstrate setting ad events on a interstitial,and show interstitial when load success:
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();
}
}
Video api is similar with Interstitial
Here we'll demonstrate setting ad events on a video,and show video when load success:
if(admob.isVideoReady()){
admob.showVideo();
}else{
admob.cacheVideo(videoID);
}
Admob.getInstance().addEventListener(AdmobEvent.onVideoReceive, onVideoEvent);
private function onVideoEvent(event:AdmobEvent):void
{
if (event.type == AdmobEvent.onVideoReceive)
{
trace("load video success,you can show video now");
}
}
MinimumOSVersion is required for ios ,admob reqired ios 8 and later;GADApplicationIdentifier is required by admob 7.1 and later
<key>MinimumOSVersion</key>
<string>12.0</string>
simple example
<iPhone>
<InfoAdditions><![CDATA[
<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>
<key>UIDeviceFamily</key>
<array>
<string>1</string>
<string>2</string>
</array>
<key>MinimumOSVersion</key>
<string>12.0</string>
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
]]></InfoAdditions>
<requestedDisplayResolution>high</requestedDisplayResolution>
</iPhone>
Meta Config com.google.android.gms.ads.APPLICATION_ID is required from admob 17 Please replace ca-app-pub-3940256099942544~3347511713 with your admob ID
<android>
<manifestAdditions><![CDATA[
<manifest android:installLocation="auto">
<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"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" />
<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" android:theme="@android:style/Theme.Translucent"/>
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:enabled="true" android:exported="false" ></receiver>
<receiver android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:enabled="true" android:exported="true" android:permission="android.permission.INSTALL_PACKAGES" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:enabled="true" android:exported="false" />
<service android:name="com.google.android.gms.measurement.AppMeasurementJobService" android:enabled="true" android:exported="false" android:permission="android.permission.BIND_JOB_SERVICE" />
<receiver android:name="com.google.android.gms.measurement.AppMeasurementReceiver" android:enabled="true" android:exported="false" ></receiver>
<service android:name="com.google.android.gms.measurement.AppMeasurementService" android:enabled="true" android:exported="false" />
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/>
</application>
</manifest>
]]></manifestAdditions>
</android>
this will get screen size ,unit is dp
Admob.getInstance().getScreenSize()
<extensionID>so.cuo.platform.admob</extensionID>
1.update admob sdk
2.support last ios and air 33.1
This Admob ANE was a monetization ANE plugin for Flash Air community,More people use, making the api more friendly,the plugin more stable.Thank you for feedback questions and provide advice, thank you for the support and donations.
Download https://github.com/lilili87222/admob-for-flash/archive/master.zip
admob http://apps.admob.com