Git Product home page Git Product logo

admob-for-flash's Introduction

Admob ANE for Flash Air

  1. Admob ANE Description
  2. Admob ANE For Air Features
  3. 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
  4. change log
  5. Screenshots
  6. Links
  7. License

Admob ANE Description

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.

Admob ANE For Air Features

  • 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

Quick Start

1.Init Admob ANE

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

2.Add Admob Banner in adobe Air App

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

3.Remove Banner

By default, banners are visible. To hide a banner,

    Admob.getInstance().hideBanner();

4.Admob ANE Show Interstitial

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

5.Custom Admob Banner Ad Sizes

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

6.Set Admob Target Param

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

7.Ad Events

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

9.Admob Rewarded Video

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

10.IOS min version config

MinimumOSVersion is required for ios ,admob reqired ios 8 and later;GADApplicationIdentifier is required by admob 7.1 and later

	<key>MinimumOSVersion</key>
        <string>9.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>9.0</string>
			<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    <key>NSAllowsArbitraryLoadsForMedia</key>
    <true/>
    <key>NSAllowsArbitraryLoadsInWebContent</key>
    <true/>
</dict>
		]]></InfoAdditions>
        <requestedDisplayResolution>high</requestedDisplayResolution>
    </iPhone>

11.android permission config

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>

12.Screen size function

this will get screen size ,unit is dp

Admob.getInstance().getScreenSize()

13.ANE ID

<extensionID>so.cuo.platform.admob</extensionID>

change log 20200525

1.update admob sdk
2.support last ios and air 33.1

more

Screenshots

ScreenShot

This Admob ANE was published since Sep, 2012, and has been downloaded more than 100,000 times. Now it's the No. 1 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.

Links

Download https://github.com/lilili87222/admob-for-flash/archive/master.zip
admob http://apps.admob.com
version with google firebase analysis https://github.com/lilili87222/Google-Firebase-ANE

License

Apache 2.0 License

admob-for-flash's People

Contributors

grime2d avatar lilili87222 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.