russi-admob-plugin
Version:
149 lines (133 loc) • 5.29 kB
JavaScript
var admob = window.admob || {};
/**
* This enum represents russi-cordova-admob plugin events
*/
admob.events = {
onAdLoaded: "russi.cordova.admob.onAdLoaded",
onAdFailedToLoad: "russi.cordova.admob.onAdFailedToLoad",
onAdOpened: "russi.cordova.admob.onAdOpened",
onAdLeftApplication: "russi.cordova.admob.onAdLeftApplication",
onAdClosed: "russi.cordova.admob.onAdClosed"
};
/**
* This enum represents AdMob's supported ad sizes. Use one of these
* constants as the adSize when calling createBannerView.
* @const
*/
admob.AD_SIZE = {
BANNER: 'BANNER',
IAB_MRECT: 'IAB_MRECT',
IAB_BANNER: 'IAB_BANNER',
IAB_LEADERBOARD: 'IAB_LEADERBOARD',
SMART_BANNER: 'SMART_BANNER'
};
admob.AD_TYPE = {
BANNER: 'banner',
INTERSTITIAL: 'interstitial'
};
// This is not used by the plugin, it is just a helper to show how options are specified and their default values
admob.options = {
publisherId: (/(android)/i.test(navigator.userAgent)) ? "ca-app-pub-4209311957861777/7201855649" : "ca-app-pub-8440343014846849/2335511010",
interstitialId: (/(android)/i.test(navigator.userAgent)) ? "ca-app-pub-4209311957861777/4677626474" : "ca-app-pub-8440343014846849/3812244218",
adSize: admob.AD_SIZE.SMART_BANNER,
bannerAtTop: false,
overlap: false,
offsetStatusBar: false,
isTesting: false,
adExtras: {},
autoShowBanner: true,
autoShowInterstitial: true
};
/**
* Initialize russi-cordova-admob plugin with options:
* @param {!Object} options AdMob options (use admob.options as template)
* @param {function()} successCallback Callback on success
* @param {function()} failureCallback Callback on fail
*/
admob.setOptions = function (options, successCallback, failureCallback) {
if (typeof options === 'function') {
failureCallback = successCallback;
successCallback = options;
options = undefined;
}
options = options || admob.DEFAULT_OPTIONS;
if (typeof options === 'object' && typeof options.publisherId === 'string' && options.publisherId.length > 0) {
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'setOptions', [options]);
} else {
if (typeof failureCallback === 'function') {
failureCallback('options.publisherId should be specified.');
}
}
};
/**
* Creates a new AdMob banner view.
*
* @param {!Object} options The options used to create a banner. (use admob.options as template)
* @param {function()} successCallback The function to call if the banner was created successfully.
* @param {function()} failureCallback The function to call if create banner was unsuccessful.
*/
admob.createBannerView = function (options, successCallback, failureCallback) {
if (typeof options === 'function') {
failureCallback = successCallback;
successCallback = options;
options = undefined;
}
options = options || {};
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'createBannerView', [options]);
};
/*
* Show or hide Ad.
*
* @param {boolean} show true to show, false to hide.
* @param {function()} successCallback The function to call if the ad was shown successfully.
* @param {function()} failureCallback The function to call if the ad failed to be shown.
*/
admob.showBannerAd = function (show, successCallback, failureCallback) {
if (show === undefined) {
show = true;
} else if (typeof show === 'function') {
failureCallback = successCallback;
successCallback = show;
show = true;
}
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'showBannerAd', [show]);
};
/**
* Hides and destroys the banner view. CreateBanner should be called if new ads were to be shown.
* @param {function()} successCallback The function to call if the view was destroyed successfully.
* @param {function()} failureCallback The function to call if failed to destroy view.
*/
admob.destroyBannerView = function (successCallback, failureCallback) {
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'destroyBannerView', []);
};
/**
* Request an AdMob interstitial ad.
*
* @param {!Object} options The options used to request an ad. (use admob.options as template)
* @param {function()} successCallback The function to call if an ad was requested successfully.
* @param {function()} failureCallback The function to call if an ad failed to be requested.
*/
admob.requestInterstitialAd = function (options, successCallback, failureCallback) {
if (typeof options === 'function') {
failureCallback = successCallback;
successCallback = options;
options = undefined;
}
options = options || {};
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'requestInterstitialAd', [options]);
};
/**
* Shows an interstitial ad. This function should be called when onAdLoaded occurred.
*
* @param {function()} successCallback The function to call if the ad was shown successfully.
* @param {function()} failureCallback The function to call if the ad failed to be shown.
*/
admob.showInterstitialAd = function (successCallback, failureCallback) {
cordova.exec(successCallback, failureCallback, 'AdMobAds', 'showInterstitialAd', []);
};
if (typeof module !== 'undefined') {
// Export admob
module.exports = admob;
}
window.admob = admob;
window.tappx = admob;