@govindbhumkar/cordova-facebook-ads
v1.0.2
Published
A Cordova plugin for integrating Facebook Audience Network ads. Supports banner ads, interstitial ads, and rewarded video ads for mobile applications.
Maintainers
Readme
Facebook Audience Network Ads
This plugin provides a simple interface for displaying Facebook Audience Network ads in your Cordova, Capacitor applications.
Table of Contents
Installation
Using the Cordova CLI
$ cordova plugin add @govindbhumkar/cordova-facebook-adsnpm
$ npm install @govindbhumkar/cordova-facebook-adsSDK Version
This plugin uses the latest Facebook Audience Network SDK. Current version:
com.facebook.android:audience-network-sdk:6.+Banner Ads
Load and Show Banner Ads
Note: It's strongly recommended to use
loadAndShowBannerAdsfor banner ads instead of loading, showing, and hiding separately.
Syntax
cordova.facebookads.loadAndShowBannerAds(options, bannerSuccess, bannerFail);Options
var options = {
bannerid: "523519301434xxx_xxxxxxxxxxxxxxx",
isTesting: true|false,
position: "BOTTOM_CENTER", // Optional: TOP_CENTER, CENTER, or BOTTOM_CENTER
margin: 0 // Optional: margin in pixels, behavior depends on position
}Position and Margin Behavior
- BOTTOM_CENTER: Applies margin-bottom
- TOP_CENTER: Applies margin-top
- CENTER: Applies equal vertical margins
Example
var options = {
bannerid: "523519301434xxx_xxxxxxxxxxxxxxx",
isTesting: true,
position: "BOTTOM_CENTER",
margin: 0
};
cordova.facebookads.loadAndShowBannerAds(options, bannerSuccess, bannerFail);
function bannerSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
else if(evt === "AdDistroyed") {
console.log("Facebook banner AdDistroyed");
}
else if(evt === "AdHidden") {
console.log("Facebook AdHidden");
}
}
function bannerFail(result) {
console.log(result);
}Screenshot
Load Banner Ads Only
Syntax
cordova.facebookads.loadBannerAds(options, bannerSuccess, bannerFail);Options
var options = {
bannerid: "523519301434xxx_xxxxxxxxxxxxxxx",
isTesting: true|false,
position: "BOTTOM_CENTER", // Optional: TOP_CENTER, CENTER, or BOTTOM_CENTER
margin: 0 // Optional: margin in pixels, behavior depends on position
}Example
cordova.facebookads.loadBannerAds(options, bannerSuccess, bannerFail);
function bannerSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
else if(evt === "AdDistroyed") {
console.log("Facebook banner AdDistroyed");
}
else if(evt === "AdHidden") {
console.log("Facebook AdHidden");
}
}
function bannerFail(result) {
console.log(result);
}Show Banner Ads
Syntax
cordova.facebookads.showBannerAds(bannerSuccess, bannerFail);Example
cordova.facebookads.showBannerAds(bannerSuccess, bannerFail);
function bannerSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
else if(evt === "AdDistroyed") {
console.log("Facebook banner AdDistroyed");
}
else if(evt === "AdHidden") {
console.log("Facebook AdHidden");
}
}
function bannerFail(result) {
console.log(result);
}Hide/Destroy Banner Ads
Syntax
cordova.facebookads.distroyBannerAds(bannerSuccess, bannerFail);Example
cordova.facebookads.distroyBannerAds(bannerSuccess, bannerFail);
function bannerSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
else if(evt === "AdDistroyed") {
console.log("Facebook AdDistroyed");
}
}
function bannerFail(result) {
console.log(result);
}Screenshot
Interstitial Ads
Load Interstitial Ads
Syntax
cordova.facebookads.loadInterstitialAds(options, interstitialSuccess, interstitialFail);Options
var options = {
interstitialid: "52351930143xxx_xxxxxxxxxxxxxxx",
isTesting: true|false
}Example
var options = {
interstitialid: "52351930143xxx_xxxxxxxxxxxxxxx",
isTesting: true
};
cordova.facebookads.loadInterstitialAds(options, interstitialSuccess, interstitialFail);
function interstitialSuccess(evt) {
if(evt === "AdDisplayed") {
console.log("Facebook AdDisplayed");
}
else if(evt === "AdClosed") {
console.log("Facebook AdClosed");
}
else if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
}
function interstitialFail(result) {
console.log(result);
}Show Interstitial Ads
Syntax
cordova.facebookads.showInterstitialAds(interstitialSuccess, interstitialFail);Example
cordova.facebookads.showInterstitialAds(interstitialSuccess, interstitialFail);
function interstitialSuccess(evt) {
if(evt === "AdDisplayed") {
console.log("Facebook AdDisplayed");
}
else if(evt === "AdClosed") {
console.log("Facebook AdClosed");
}
else if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdImpression") {
console.log("Facebook AdImpression");
}
}
function interstitialFail(result) {
console.log(result);
}Screenshot
Reward Video Ads
Load Reward Video Ads
Syntax
cordova.facebookads.loadRewardVideoAd(options, videoRewardSuccess, videoRewardFail);Options
var options = {
videoid: "52351930143xxx_xxxxxxxxxxxxxxx",
isTesting: true|false
}Example
var options = {
videoid: "52351930143xxx_xxxxxxxxxxxxxxx",
isTesting: true
};
cordova.facebookads.loadRewardVideoAd(options, videoRewardSuccess, videoRewardFail);
function videoRewardSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdPlaying") {
console.log("Facebook AdPlaying");
}
else if(evt === "AdCompleted") {
console.log("Facebook AdCompleted");
}
else if(evt === "AdClosed") {
console.log("Facebook AdClosed");
}
}
function videoRewardFail(result) {
console.log(result);
}Important Note: If you get the error "Rewarded video ad failed to load: The display format in the ad request does not match the display format specified for this placement. Each placement can only be used with a single display format. You can create multiple placements in order to use multiple display formats.", follow these steps:
- You must have the Audience Network SDK integrated in your game
- Your app must have an active, approved Audience Network account with payment information
- Game only: Your game app is active and added to your account
- Ad position: You must already have a rewarded video ad unit in your game
Reference: Stack Overflow
Show Reward Video Ads
Syntax
cordova.facebookads.showRewardVideoAd(videoRewardSuccess, videoRewardFail);Example
cordova.facebookads.showRewardVideoAd(videoRewardSuccess, videoRewardFail);
function videoRewardSuccess(evt) {
if(evt === "AdLoaded") {
console.log("Facebook AdLoaded");
}
else if(evt === "AdClicked") {
console.log("Facebook AdClicked");
}
else if(evt === "AdPlaying") {
console.log("Facebook AdPlaying");
}
else if(evt === "AdCompleted") {
console.log("Facebook AdCompleted");
}
else if(evt === "AdClosed") {
console.log("Facebook AdClosed");
}
}
function videoRewardFail(result) {
console.log(result);
}Supported Platforms
- Android
Thanks
This plugin is a modified fork of [cordova-plugin-codeplay-facebookads-free](https://githThis plugin is a modified fork of cordova-plugin-codeplay-facebookads-free. Special thanks to merbin2012 for creating the original plugin that served as the foundation for this enhanced version.
