Cordova / PhoneGap Plugin for Google Ads, including AdMob / DFP (doubleclick for publisher) and mediations to other Ad networks.
- Description
- History
- Features
- Demo
- Quick Start
- Installation
- Usage
- API
- Wiki and Docs
- Important Tips & Warning
- Video Tutorial
- Screenshots
- License
- Credits
This Cordova / PhoneGap plugin enables displaying mobile Ads with single line of javascript code. Designed for the use in HTML5-based cross-platform hybrid games and other applications.
Community-driven project. Designed and maintained by Raymond Xie since August 2014. It also features integration in AngularJS projects via [ngCordova] (http://www.ngcordova.com).
It was published to Cordova registry with id "com.google.cordova.admob" since Aug 2014, and has been downloaded more than 120,000 times. Now it's the No. 1 monetization plugin for Cordova community.
From May 2015, Cordova team announced the deprecation of Cordova registry, and suggest all plugins to be moved to npm repository. Now, the AdMob plugin is published to npm and renamed as "cordova-plugin-admobpro".
Platforms supported:
- Android, via SDK v10.0.1 (part of Google Play service, see Release Notes)
- iOS, via SDK v7.15.0 (with bitcode support, see Release Notes)
- Windows Phone, via SDK v6.5.13 (see Release Notes)
- Amazon-FireOS, via Android SDK (part of Google Play service)
Ad Types:
- Banner
- Interstitial (text, picture, video)
- Reward Video
- IAP Ad
- Native Ad (Google new product, on roadmap)
Mediation to other Ad networks:
- AdMob (built-in)
- DFP (DoubleClick for Publisher, built-in)
- Facebook Audience Network
- Flurry
- iAd
- InMobi
- Millennial Media
- MobFox
Wanna quickly see the mobile ad on your simulator or device? Try the following commands.
# install cordova CLI
[sudo] npm install cordova -g
# install a small utility to run all the commands for you
[sudo] npm install plugin-verify -g
# Demo 1: run admob demo with sample index.html
plugin-verify cordova-plugin-admobpro
# Demo 2/3: run admob demo in game powered by PIXI/phaser HTML5 engine
plugin-verify admob-demo-game-pixi ios --landscape
plugin-verify admob-demo-game-phaser ios --landscape
# Demo 4: run admob demo in app powered by ionic/angular framework
plugin-verify admob-demo-app-ionic ios --portrait
# create a demo project
cordova create test1 com.rjfun.test1 Test1
cd test1
cordova platform add android
cordova platform add ios
# now add the plugin, cordova CLI will handle dependency automatically
cordova plugin add cordova-plugin-admobpro
# now remove the default www content, copy the demo html file to www
rm -r www/*;
cp plugins/cordova-plugin-admobpro/test/* www/;
# now build and run the demo in your device or emulator
cordova prepare;
cordova run android;
cordova run ios;
# or import into Xcode / eclipse
- If use with Cordova CLI:
cordova plugin add cordova-plugin-admobpro
If use other tools or online build services, see:
- Apache Cordova CLI, v3.0+ (How To ...)
- Intel XDK, r1095+ (How To ...)
- IBM Worklight, v6.2+ (How To ...)
- Google Mobile Chrome App (How To ...)
- Adobe PhoneGap Build. (How To ...)
- Meteor (How To ...)
- Ionic, Inoic Demo
- Ionic2, Inoic2 Demo
What's difference of the 3 plugin IDs, which one shall I use ?
- com.google.cordova.admob
- cordova-plugin-admobpro
- cordova-plugin-admob
Read: Difference of Plugin ID
Notice:
- If build locally using
cordova-plugin-admobpro
, to avoid build error, you need install some extras in Android SDK manager (typeandroid sdk
to launch it):
Show Mobile Ad with single line of javascript code.
Step 1: Create Ad Unit Id for your banner and interstitial, in AdMob portal, then write it in your javascript code.
// select the right Ad Id according to platform
var admobid = {};
if( /(android)/i.test(navigator.userAgent) ) { // for android & amazon-fireos
admobid = {
banner: 'ca-app-pub-xxx/xxx', // or DFP format "/6253334/dfp_example_ad"
interstitial: 'ca-app-pub-xxx/yyy'
};
} else if(/(ipod|iphone|ipad)/i.test(navigator.userAgent)) { // for ios
admobid = {
banner: 'ca-app-pub-xxx/zzz', // or DFP format "/6253334/dfp_example_ad"
interstitial: 'ca-app-pub-xxx/kkk'
};
} else { // for windows phone
admobid = {
banner: 'ca-app-pub-xxx/zzz', // or DFP format "/6253334/dfp_example_ad"
interstitial: 'ca-app-pub-xxx/kkk'
};
}
Step 2: Want cheap and basic banner? single line of javascript code.
// it will display smart banner at top center, using the default options
if(AdMob) AdMob.createBanner({
adId: admobid.banner,
position: AdMob.AD_POSITION.TOP_CENTER,
autoShow: true });
Step 3: Want interstitial Ad to earn more money ? Easy, 2 lines of code.
// preppare and load ad resource in background, e.g. at begining of game level
if(AdMob) AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false} );
// show the interstitial later, e.g. at end of game level
if(AdMob) AdMob.showInterstitial();
Or, you can just copy this admob_simple.js to your project, change the ad unit id to your own, and simply reference it in your index.html, like this:
<script type="text/javascript" src="admob_simple.js"></script>
Remember to remove isTesting:true
if release for production.
Optional mediations to increase your revenue (Read about AdMob Mediation Networks):
cordova plugin add cordova-plugin-admob-facebook
cordova plugin add cordova-plugin-admob-flurry
cordova plugin add cordova-plugin-admob-iad
cordova plugin add cordova-plugin-admob-inmobi
cordova plugin add cordova-plugin-admob-mmedia
cordova plugin add cordova-plugin-admob-mobfox
Notice: If you want to add multiple mediations, please balance flexibility and binary size.
Methods:
// use banner
createBanner(adId/options, success, fail);
removeBanner();
showBanner(position);
showBannerAtXY(x, y);
hideBanner();
// use interstitial
prepareInterstitial(adId/options, success, fail);
showInterstitial();
isInterstitialReady(function(ready){ if(ready){ } });
// use reward video
prepareRewardVideoAd(adId/options, success, fail);
showRewardVideoAd();
// set values for configuration and targeting
setOptions(options, success, fail);
// get user ad settings
getAdSettings(function(inf){ inf.adId; inf.adTrackingEnabled; }, fail);
Events:
// onAdLoaded
// onAdFailLoad
// onAdPresent
// onAdDismiss
// onAdLeaveApp
document.addEventListener('onAdFailLoad', function(e){
// handle the event
});
Quick start, simply copy & paste:
API Reference:
Other Documentations:
Demo projects:
- App demo for Ionic, by Jaive
- App demo for Ionic2, by Jaive
- Game demo using phaser game engine
- Game demo using PIXI game engine
- Using Cordova CLI to Add AdMob Plugin:
- Run AdMob Demo App on Android:
More video by developers:
- How to add banner ads to phonegap apps using AdMob Pro for android, by pointDeveloper
- How to add Banner ads To Ionic apps with Admob Pro For android, by pointDeveloper
- How To Add Banner Ads To Ionic 2 with AdMob Cordova Plugin, by pointDeveloper
- How to add Interstitial Add on navigation for phonegap using JavaScript and AdMob Pro plugin, by pointDeveloper
- How to add banner ads to jQuery Mobile Apps using Phonegap AdMob Pro Plugin, by pointDeveloper
- Intel XDK - Monetizando seu aplicativo com Admob e intel xdk., in Portuguese, by XDK PLUS
- Interesting Evolution of cordova-admob-pro (Gource Visualization), by Landon Wilkins
iPhone Banner | iPhone Interstitial |
---|---|
Android Banner | Android Interstitial |
Some important tips, FYI.
- Why Google AdMob is recommended ?
Advertisement is main business and income source of Google, so clients are all around the world. Google is one of the most rialable partners for its high standard service.
- High fill rate, nearly 100% all around world.
- High quality Ad, bring high RPM.
- Stable price, auto pay on time. Pay on every 20th next month.
- Strongly recommend Interstitial, more than 10 times profit than banner Ad.
Ad Format | Banner | Interstitial |
---|---|---|
Click Rate | < 1% | 3-15% |
RPM (revenue per 1000 impression) | US$ 0.5~4 | US$ 10~50 |
- Using SMART_BANNER to auto-fit the screen width, avoid using BANNER or FULL_BANNER (unless you are using DFP)
⚠:Remember Google's slogan: "Don't be evil". Invalid usage violating Google rules, may cause your AdMob account suspended !
-
AdMob publisher may NOT abuse or encourage abuse any Google products, including Google Play, YouTube or Bolgger, incuding allow user downloading YouTube video, or embed YouTube video in your own apps.
-
Publishers may NOT click their own ads or use any means to inflate impressions and/or clicks artificially, including manual methods. Testing your own ads by clicking on them is not allowed.
⚠:请记住谷歌的口号:“不作恶”。任何违反合作规范、损害广告商和用户利益的行为,会导致你的 APP 被下架,甚至你的 AdMob 帐号被禁用!
- AdMob发布商不得滥用或鼓励滥用任何Google产品,如Google Play、YouTube或Blogger。这包括规避任何Google产品的政策或条款或提供规避途径,例如允许用户下载YouTube视频等。不得刻意引诱用户点击广告,也不可以在自己的APP中点击广告(测试只能使用非正式的测试广告)。
More details, please read AdMob & AdSense policies
You can use this plugin for free during trial purpose. If it earns less than $1000 for you, you can continue to use for free.
If use in commercial project, please get a license, or, you have monetized more than $1000 using this plugin, you are also required to: either get a commercial license ($20), or, no need pay but share 2% Ad traffic, read the License Agreement for details. As a commercial customer, you will be supported with high priority, via private email or even Skype chat.
If you hope to get a fully open source plugin (either need DIY, or hope to get full control on the code), use this open source one instead. Fork and pull request is welcome, but please mention it's derived source. Simply renaming then publishing to npm is forbidden. Open source project URL: https://github.com/floatinghotpot/cordova-plugin-admob
This project is created and maintained by Raymond Xie.
More Cordova/PhoneGap plugins by Raymond Xie, find them in plugin registry, or find them in npm.
Project outsourcing and consulting service is also available. Please contact us if you have the business needs.