appodeal / appodeal-cordova-maxdex-plugin

3 stars 8 forks source link

Appodeal Cordova Plugin Max Dex

This is official Appodeal Cordova plugin, created to support Appodeal SDK with Apache Cordova. Use it in case if you receive "method ID not in [0, 0xffff]: 65536" build error with other versions.

How to Update Plugin Manually

Android Part:

iOS Part:

<resource-file src="https://github.com/appodeal/appodeal-cordova-maxdex-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-maxdex-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)