The Cocoon MoPub plugin is a Cordova plugin aimed at providing easy integration with the MoPub ads network.

Installation

To add the MoPub plugin to your project first go to your project configuration and once there go to the Setting  section and click on the “Plugins” tab. You should see something like this:

New Cocoon

If you click on the “Cocoon” category you will see al the Cocoon available plugins.  Over the plugins list you will see a dropdown menu set to “All” by default. Click on the menu to see the available Cocoon plugins categories, you should see a list of plugins with at least the following groups:

Screen Shot 2016-01-05 at 16.40.33

Select the “MoPub SDK” plugin. Then the MoPub related plugins should be filtered in the plugins list.

Screen Shot 2016-01-05 at 16.42.38

Now click on install and your project will include the MoPub plugin in the next compilation.

Screen Shot 2016-01-05 at 16.43.14

Now you are ready to compile the Developer App to start testing your MoPub ads.

MoPub Adapters

MoPub is an Ad network mediator so you can integrate other third party networks using Mopub. You just need to install the MoPub Ad network adapter for the network you want and configure it in the MoPub administration panel.

To install the MoPub adapter, go to the Cocoon plugins list and choose “MoPub Adapters” from the list:

Screen Shot 2016-01-07 at 10.18.47

In the plugins list you will see all the supported MoPub adapters. Just select the one (or ones, you can install several adapters at the same time) you want to install and click on the “Install” button on the right side.

No further configurations are needed in the Cocoon side, all the adapter configuration is done in the MoPub administration panel. You can read more information about it here.

There are several adapters available:

AdColony

This adapter does not require further configuration.

AdMob

This adapter does not require further configuration.

AppLovin

This adapter requires the SDK_KEY, which you can find in your AppLovin dashboard. Add this SDK key to your config.xml.

Parameters

For this plugin you need to add the parameters from the source code. See the integration guide bellow and the example to see how to setup the MoPub parameters.

Also, due to changes in iOS 10, this plugin has the optional parameter: CALENDAR_USAGE_DESCRIPTION.

MoPub needs the permission to access the device calendar and this parameter is used in iOS only to display a description of the usage of the calendar the first time the application tries to use it. If not set, a default permission request text will be used.

Integration

Cordova needs to be specifically loaded in your index.html so it can start the Cordova framework and load the plugins that you have installed in your project. So first thing is to add the cordova.js script tag to your index.html.

That’s the only code script you need to include in your index.html for the plugin to be ready to be used. Cordova will do the rest.

Important: Remember to wait for the deviceready event before using the plugin as that is the moment when the plugin will be fully initialized.

Usage

Let’s see some code snippets showing how to use the Cocoon MoPub plugin in your application.

Initialization

First you need to configure the IDs for the different MoPub ads types.

Getting the IDs

You can find the IDs in the MoPub application settings:

Copy paste the ID in your Javascript code and you are ready to go. You can read the complete MoPub guide here.

Setting up the IDs

At plugin configuration time

There are two ways of setting up the ads IDs in your code. First, you can call the Cocoon.Ad.MoPub.configure method with a configuration (you can omit any of those platforms if you are not targeting to them)

The appId is the Id the plugin will use to initialize the MoPubSDK. Any AdUnit will should work.

This will setup IDs for an ad that you can later create calling the creation method without parameters:

At ad creation time

Another option is to pass the ID at creation time:

This can be useful in case you want to create several ad instances with different IDs.

Note that the appId parameter must be passed through the Cocoon.Ad.MoPub.configure method regardless of the way the ads IDs are provided.

GDPR

The optional parameter personalizedAdsConsent in the Cocoon.Ad.MoPub.configure method determines if the user has consented to be targeted by personalized ads. This parameter spreads to every Cocoon MoPub adapter installed.

Banners

Creating a banner

Listening to banner events

First thing you have to do after creating a banner is to listen to its life cycle events:

  • load: A banner has been loaded and is ready to be shown.
  • fail: The banner load has failed so there is no ad available to be shown at the moment.
  • show: The banner has been showed probably as consequence of calling the “show” method.
  • dismiss: The banner has been collapsed.
  • click: The user has clicked on the banner.

Showing/hiding a banner

Interstitials

Creating an interstitial

Listening to interstitial events

First thing you have to do after creating an interstitial is to listen to its life cycle  events:

  • load: An interstitial has been loaded and is ready to be shown.
  • fail: The interstitial load has failed so there is no ad available to be shown at the moment.
  • show: The interstitial has been showed probably as consequence of calling the “show” method.
  • dismiss: The interstitial has been closed by the user.
  • click: The user has clicked on the interstitial.

Showing an interstitial

The interstitials cannot be hidden from code.

Rewarded Videos

Creating a rewarded video

Listening to rewarded videos events

First thing you have to do after creating a rewarded video is to listen to its life cycle  events:

  • load: A rewarded video has been loaded and is ready to be shown.
  • fail: The rewarded video load has failed so there is no ad available to be shown at the moment.
  • show: The rewarded video has been showed probably as consequence of calling the “show” method.
  • dismiss: The rewarded video has been closed by the user.
  • reward: The user has watched enough to receive the reward. But an error not captured by fail could have occurred.
  • click: The user has clicked on the rewarded video.

Showing an interstitial

The rewarded videos cannot be hidden from code.

Example

exmaple_button

API

api_button

Testing

To test your MoPub plugin integration:

  1. Install the MoPub plugin (and adapters if needed) in your project
  2. Compile a Developer App
  3. Launch you app from the Developer App using a zip or a URL options