@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.
Downloads
13
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.
