appodeal / appodeal-cordova-plugin

Appodeal Cordova Plugin
https://www.appodeal.com
19 stars 33 forks source link
appodeal appodeal-cordova-plugin appodeal-sdk cordova monetization

Appodeal Cordova Plugin

This is an official Appodeal Cordova plugin, created to support Appodeal SDK with Apache Cordova.

How to Update Plugin Manually

Android Part:

iOS Part:

<resource-file src="https://github.com/appodeal/appodeal-cordova-plugin/raw/master/libs/iOS/Appodeal/Resources/MPCloseBtn.png"/>

Install

Simply go to the project folder over console/terminal and run there following command:

cordova plugin add https://github.com/appodeal/appodeal-cordova-plugin.git

Google Play Services (v10+) already included to plugin dependencies.

If you have issues while installing plugin, follow the Command-line Interface Guide.

Minimum OS requirements:

Appodeal Cordova Plugin includes:

Cordova Integration

Ad Types

Ad types can be combined using "|" operator. For example Appodeal.INTERSTITIAL | Appodeal.NON_SKIPPABLE_VIDEO.

SDK Initialization

To initialize SDK for INTERSTITIAL ad type, call the following code:

var appKey = "e7e04e54ae0a8d28cff2f7e7e7d094e78b2a09743be2cc4a";
Appodeal.disableLocationPermissionCheck();
Appodeal.initialize(appKey, Appodeal.INTERSTITIAL);

Display Ad

To display ad you need to call the following code:

Appodeal.show(adTypes);

Also it can be used in this way, to get boolean value if ad was successfully shown:

Appodeal.show(adTypes, function(result) {
   // result is a boolean value, that is indicates whether show call was passed to appropriate SDK 
});

Checking if interstitial is loaded

To check if ad type was loaded, use following code:

Appodeal.isLoaded(adTypes, function(result){
    // result returns bool value
});

Hide Banner Ad

To hide banner you need to call the following code:

Appodeal.hide(Appodeal.BANNER);

Callbacks integration

To set Interstitial callbacks, use following code:

Appodeal.setInterstitialCallbacks( function(container) {
       if (container.event == 'onLoaded') {
            console.log("Appodeal. Interstitial. " + container.event + ", isPrecache: " + container.isPrecache  );
            // your code
       } else if (container.event == 'onFailedToLoad') {
            // your code
       } else if (container.event == 'onShown') {
            // your code
       } else if (container.event == 'onClick') {
            // your code
       } else if (container.event == 'onClosed') {
            // your code
       }
});

To set Banner callbacks, use following code:

Appodeal.setBannerCallbacks( function(container) {
       if (container.event == 'onLoaded') {
            console.log("Appodeal. Banner. " + container.event + ", height: " + container.height + ", isPrecache: " + container.isPrecache);
            // your code
       } else if (container.event == 'onFailedToLoad') {
            // your code
       } else if (container.event == 'onShown') {
            // your code
       } else if (container.event == 'onClick') {
            // your code
       }
});

To set Rewarded Video callbacks, use following code:

Appodeal.setRewardedVideoCallbacks( function(container) {
       if (container.event == 'onLoaded') {
            // your code
       } else if (container.event == 'onFailedToLoad') {
            // your code
       } else if (container.event == 'onShown') {
            // your code
       } else if (container.event == 'onFinished') {
            // container also returns "name" and "amount" variables with reward amount and currency name you have set for your application
            console.log( "Appodeal. Rewarded. " + container.event + ", amount: " + container.amount + ", name: " + container.name);
            // your code
       } else if (container.event == 'onClosed') {
            // container also returns "finished" variable with boolean value for indicating if video was finished
            console.log("Appodeal. Rewarded. " + container.event + ", finished: " + container.finished);
            // your code
       }
});

To set Non Skippable Video callbacks, use following code:

Appodeal.setNonSkippableVideoCallbacks( function(container) {
       if (container.event == 'onLoaded') {
            // your code
       } else if (container.event == 'onFailedToLoad') {
            // your code
       } else if (container.event == 'onShown') {
            // your code
       } else if (container.event == 'onFinished') {
            // your code
       } else if (container.event == 'onClosed') {
            // container also returns "finished" variable with boolean value for indicating if video was finished
            console.log("Appodeal. Non Skippable Video. " + container.event + ", finished: " + container.finished);
            // your code
       }
});

Advanced Features

Getting reward data for placement

To get placement reward data before video is shown use:

Appodeal.getRewardParameters( function(result) {
   console.log("Appodeal Reward Amount:" + result.amount);
   console.log("Appodeal Reward Currency:" + result.currency);
});

Enabling 728*90 banners

To enable 728*90 banner use the following method:

Appodeal.set728x90Banners(true);

Disabling banner refresh animation

To disable banner refresh animation use:

Appodeal.setBannerAnimation(false);

Disabling smart banners

Appodeal.setSmartBanners(false);

Enabling test mode

Appodeal.setTesting(true);

In test mode test ads will be shown and debug data will be written to log.

Enabling logging

Appodeal.setLogLevel(Appodeal.LogLevel.debug);

Available parameters: Appodeal.LogLevel.none, Appodeal.LogLevel.debug, Appodeal.LogLevel.verbose.

Checking if loaded ad is precache

Appodeal.isPrecache(adTypes, function(result){
  // result is a boolean value, that equals true if ad is precache
})

Currently supported only for interstitials and banners

To check if loaded interstitial is precache: use Appodeal.isPrecache(Appodeal.INTERSTITIAL);

To check if loaded banner is precache: use Appodeal.isPrecache(Appodeal.BANNER);

Manual ad caching

Appodeal.cache(adTypes);

Enabling or disabling automatic caching

Appodeal.setAutoCache(adTypes, false);

Triggering onLoaded callback on precache

Appodeal.setTriggerOnLoadedOnPrecache(adTypes, true);

Disabling data collection for kids apps

Appodeal.setChildDirectedTreatment(true);

Disabling networks

Appodeal.disableNetwork(network);

Available parameters: "adcolony", "admob", "amazon_ads", "applovin", "appnext", "avocarrot", "chartboost", "facebook", "flurry", "inmobi", "inner-active", "ironsource", "mailru", "mmedia", "mopub", "ogury", "openx", "pubnative", "smaato", "startapp", "tapjoy", "unity_ads", "vungle", "yandex"

Should be used before SDK initialization

Disabling location permission check

To disable toast messages ACCESS_COARSE_LOCATION permission is missing, use the following method:

Appodeal.disableLocationPermissionCheck();

Should be used before SDK initialization.

Disabling write external storage permission check

To disable toast messages WRITE_EXTERNAL_STORAGE permission is missing use the following method:

Appodeal.disableWriteExternalStoragePermissionCheck();

Disables all ad networks that need this permission may lead to low video fillrates.

Should be used before SDK initialization.

Tracking in-app purchase

Appodeal.trackInAppPurchase(this, 5, "USD");

Testing third-party networks adapters integration

To show test screen for testing adapters integration call:

Appodeal.showTestScreen();

Muting videos if call volume is muted

Appodeal.muteVideosIfCallsMuted(true);

Setting User Data

Set the age of the user

Appodeal.setAge(25);

Specify gender of the user

Appodeal.setGender(UserSettings.Gender.FEMALE);

Possible values: Appodeal.Gender.FEMALE, Appodeal.Gender.MALE, Appodeal.Gender.OTHER.

Changelog

3.0.5 (21.04.2018)