Integration Guides


React Native

Full Guide

Getting Started

Ad Unit

Advanced

SDK Package

1 Overview

Follow these 3 simple steps to start monetizing:

  1. Add your app to our system and get your App ID.
  2. Install and configure the package
  3. Implement Start Session method and the Ad Unit you wish to use.

2 Configuration

Requirement: React Native 0.25.0 or newer.

You can integrate RevMob React Native SDK using rnpm (recommended) or manually on apps for iOS/Android.

1. Using rnpm:

  1. Add your app to our system and get your App ID
  2. Using your terminal, go to your React Native project directory
  3. Enter command npm install --save react-native-revmob
  4. And rnpm link

1.1 iOS

Add the following frameworks to your XCode Project:

  • RevMobAds.framework: Drag and drop it from <YOUR_PROJECT>/node_modules/react-native-revmob/ios/
  • AdSupport.framework
  • AVFoundation.framework
  • CoreFoundation.framework (as optional)
  • CoreLocation.framework
  • Foundation.framework
  • MediaPlayer.framework
  • StoreKit.framework
  • SystemConfiguration.framework
drag and drop gif

To add the frameworks (except RevMobAds.framework), click in the project root > Build Phases > Link Binary With Libraries > Click in the + button:

xcode4

If you have any doubts trying to add the other frameworks from the list, please check the Configuration section of the iOS full guide.

1.2 Android

If you wish to use fullscreen, video, or rewarded video ads, you have to declare Revmob's Fullscreen Activity in your AndroidManifest.xml:

<!-- Required -->
<uses-permission android:name="android.permission.INTERNET"/>
<application>
	<!-- Declare RevMob Fullscreen activity if you want to use Fullscreen, Video and/or Rewarded Video ads -->
	<activity android:name="com.revmob.FullscreenActivity"
			  android:theme="@android:style/Theme.Translucent"
			  android:configChanges="keyboardHidden|orientation">
	</activity>
</application>
			

2. Manually

  1. Add your app to our system and get your App ID
  2. Go to your React Native project directory
  3. Type npm install --save react-native-revmob

2.1 iOS

Add the following frameworks to your XCode Project:

  • RevMobAds.framework: Drag and drop it from /node_modules/react-native-revmob/ios/
  • AdSupport.framework
  • AVFoundation.framework
  • CoreFoundation.framework (as optional)
  • CoreLocation.framework
  • Foundation.framework
  • MediaPlayer.framework
  • StoreKit.framework
  • SystemConfiguration.framework

If you have any doubts trying to add the other frameworks from the list, please check the Configuration section of the iOS full guide.
Add react-native-revmob static library to your XCode project like explained here: Linking Libraries (iOS) Guide.

2.2 Android

Make the following changes:
Add to android/settings.gradle :

include ':react-native-revmob'
project(':react-native-revmob').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-revmob/android')
			

Add to android/app/build.gradle :

dependencies {
   ...
   compile project(':react-native-revmob')
}
			

MainActivity.java :

// Imports
import com.rctrevmob.RevMobPackage; // Add this line
...
	protected List<ReactPackage> getPackages() {
		return Arrays.<ReactPackage>asList(
			new MainReactPackage(),
			new RevMobPackage() // Add this line
		);
	}
			

If you wish to use fullscreen, video, or rewarded video ads, you have to declare Revmob's Fullscreen Activity in your AndroidManifest.xml:

<!-- Required -->
<uses-permission android:name="android.permission.INTERNET"/>
<application>
	<!-- Declare RevMob Fullscreen activity if you want to use Fullscreen, Video and/or Rewarded Video ads -->
	<activity android:name="com.revmob.FullscreenActivity"
			  android:theme="@android:style/Theme.Translucent"
			  android:configChanges="keyboardHidden|orientation">
	</activity>
</application>
			

Usage

Import the modules on every React components or containers you want to call Revmob ads:

import { RevMobManager } from 'react-native-revmob';
			

Check the Start Session and Ad Units sections for more information.

3 Start Session

Before showing any ads, you must start a RevMob session, i.e. initialize our SDK.
It's a best practice to do that as soon as your app is ready, so you can call ads easily whenever you want to.

Implementation

You can call the startSession method like this:

RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb (error) {
    // Your code
});
            

Sample

In the example below, we show a banner ad as soon as the session is started.

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
class Example extends Component {
  componentDidMount () {
    RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
      if(!err) RevMobManager.showBanner(); // Load Video if session starts successfully.
    })
  }
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Hello World!
        </Text>
      </View>
    );
  }
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  }
});
AppRegistry.registerComponent('Example', () => Example);
            

4 Testing

While you're developing your app, you will only receive test ads. Your app must make at least one ad request while on test mode in order to be validated before receiving live ads. Be sure you are able to receive at least one of our sample ads and that it’s redirecting to our "Success Page" when clicked. Once you are able to receive our sample ads it means you’ve successfully integrated our sdk.

sample_ads

Fullscreen sample, Banner sample, and Success Page

5 Go Live

Once you're finished and your app is in the store with our SDK, click on the "Go live" button in your Apps page and insert your app's URL. It may take up to 48h for your app to be approved. After that, it will start receiving live ads.

app_store_idfa

6 Kids Category

Apps designed for families have special regulations for monetizing. As stated in Google Play's guidelines, they may not include behavioral advertising and the ads must be appropriate for kids.
Revmob is fully COPPA compliant. To specify that your app is designed for kids and to guarantee that it's fully compliant, you must set the user minimum age when your user is 13 or less years old:

RevMobManager.setUserAgeRangeMin(10);
            

It is also required that you do not display a fullscreen ad immediately upon app launch and show no more than one ad placement per page.

Attention:
This method is only to protect children from abusive advertising, setting the user age incorrectly may affect your eCPM due to our algorithms that uses this information for retargeting.

7 Upload to App Store

When uploading your app to App Store with Revmob SDK, you will be asked about the use of IDFA.
Revmob uses IDFA for targeting purposes. Check "Yes" on the option at the right side of the page, as it will improve your earnings a lot.
Then, on the last three checkboxes:

  1. Check this box to serve ads.
  2. Check this box if you are also advertising the app you are uploading, and its installations will be tracked.
  3. This check is optional, as it's not used by Revmob.
app_store_idfa

1 Native link

It's really simple to use the Native Link. It's just an URL you receive that redirects the user to the advertised app download page.
A common usage is to associate it to a "more games" button or to a custom one your team designed.
Keep in mind that the image associated with this link must be clearly identified as an advertising.

Implementation

The best implementation is to pre-cache the URL and only display your native image once it's loaded.
Use RevMobManager.loadLink() to load the link and attach RevMobManager.openLoadedAdLink to the onPress listener of your custom component.
You'll have to implement the event listener in order to achieve this behavior. See the example below and for more information, please check: Event Listener.

Sample

In this example, we use the state of the component to conditionally render a Text component with the correct method attached to its onPress listener.

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
import { NativeAppEventEmitter } from 'react-native';
class Example extends Component {
    constructor(props){
        super(props);
        // Set initial state.
        this.state = { nativeLoaded: false };
    }
    componentWillMount () {
        NativeAppEventEmitter.addListener(
            'onRevmobNativeDidReceive',
                (e)=>{ this.setState({nativeLoaded: true}); }
        );
    }
    componentDidMount () {
        RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
            if(!err) RevMobManager.loadAdLink(); // Load native if session starts successfully.
        })
    }
    componentWillUnmount () {
        NativeAppEventEmitter.removeAllListeners()
    }
    render() {
        return (
            <View style={styles.container}>
            { this.state.nativeLoaded ?
                <Text style={styles.welcome} onPress={RevMobManager.openLoadedAdLink}>
                    Click me!
                </Text> : 
                <Text style={styles.welcome}>
                    Link not loaded!
                </Text> }
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    }
});
AppRegistry.registerComponent('Example', () => Example);
            

Alternatively (not recommended), you can attach the following method to the onPress listener of your component: RevMobManager.openAdLink().
It's really simple to use the Native Link. It's just an URL you receive that redirects the user to the advertised app download page.
A common usage is to associate it to a "more games" button or to a custom banner your team designed.
Keep in mind that the image associated with this link must be clearly identified as an advertising.

Implementation

The best implementation is to pre-cache the URL and only display your native image once it's loaded.
Use RevMobManager.loadLink() to load the link and attach RevMobManager.openLoadedAdLink to the onPress listener of your custom component.
You'll have to implement the event listener in order to achieve this behavior. See the example below and for more information, please check: Event Listener.

Sample

In this example, we use the state of the component to conditionally render a Text component with the correct method attached to its onPress listener.

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
import { NativeAppEventEmitter } from 'react-native';
class Example extends Component {
    constructor(props){
        super(props);
        // Set initial state.
        this.state = { nativeLoaded: false };
    }
    componentWillMount () {
        NativeAppEventEmitter.addListener(
            'onRevmobNativeDidReceive',
                (e)=>{ this.setState({nativeLoaded: true}); }
        );
    }
    componentDidMount () {
        RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
            if(!err) RevMobManager.loadAdLink(); // Load native if session starts successfully.
        })
    }
    componentWillUnmount () {
        NativeAppEventEmitter.removeAllListeners()
    }
    render() {
        return (
            <View style={styles.container}>
            { this.state.nativeLoaded ?
                <Text style={styles.welcome} onPress={RevMobManager.openLoadedAdLink}>
                    Click me!
                </Text> : 
                <Text style={styles.welcome}>
                    Link not loaded!
                </Text> }
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    }
});
AppRegistry.registerComponent('Example', () => Example);
            

Alternatively (not recommended), you can attach the following method to the onPress listener of your component: RevMobManager.openAdLink().

ant_smasher_native

100-million-downloads Ant Smasher's success case.

2 Fullscreen

The Interstitial is an advertisement that fills the whole screen. It's usually shown:

  1. On app start;
  2. Before/after a game round;
  3. After a service is used (e.g. alarm turned off).

When pre-caching, the ad received can either be a static interstitial or a video ad. Our servers will always return the one that can pay you more.

If you are developing for Android, don't forget to declare Revmob's FullscreenActivity on your AndroidManifest.xml file inside your <Application> tags:

<activity android:name="com.revmob.FullscreenActivity"
          android:theme="@android:style/Theme.Translucent"
          android:configChanges="keyboardHidden|orientation">
</activity>
            

Implementation

The best implementation is to pre-cache the ad and only display it once it's loaded.
Use RevMobManager.loadFullscreen() to load the fullscreen ad and call RevMobManager.showPreLoadedFullscreen() whenever you want to show a fullscreen ad.
You'll have to implement the event listener in order to achieve this behavior. See the example below and for more information, please check: Event Listener.

Sample

In the example below, the fullscreen ad is shown as soon as it is loaded.

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
import { NativeAppEventEmitter } from 'react-native';
class Example extends Component {
    componentWillMount () {
        NativeAppEventEmitter.addListener(
            'onRevmobFullscreenDidReceive',
                (e)=>{ RevMobManager.showPreLoadedFullscreen(); }
        );
    }
    componentDidMount () {
        RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
            if(!err) RevMobManager.loadFullscreen(); // Load fullscreen if session starts successfully.
        })
    }
    componentWillUnmount () {
        NativeAppEventEmitter.removeAllListeners()
    }
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>
                    Hello World!
                </Text>
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    }
});
AppRegistry.registerComponent('Example', () => Example);
            

Alternatively (not recommended), you can call RevMobManager.showFullscreen() directly to show a fullscreen ad.

ant_smasher_fullscreen

RevMob's test Fullscreen ad.

3 Banner

Banner ad is a Native View that has a standard size of 320x50 for phones and 728x90 for tablets, though you can customize it for your app.
You can use it in 2 different ways:

  • Basic Banner
  • Custom Banner

Basic Banner

This method is the simplest way to show a banner ad.
You should pre-cache the ad before showing it using loadBanner() and showBanner() methods.
The banner will be displayed at the bottom and with the screen width.

Sample

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  NativeAppEventEmitter
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
class Example extends Component {
  componentDidMount () {
    RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
      if(!err) RevMobManager.loadBanner(); // Load banner if session starts successfully.
    })
    NativeAppEventEmitter.addListener('onRevmobBannerDidReceive', () => {
      RevMobManager.showBanner(); // Show banner if it's loaded
    })
  }
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Hello World!
        </Text>
      </View>
    );
  }
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  }
});
AppRegistry.registerComponent('Example', () => Example);
      

To hide the banner, simply call:

RevMobManager.hideBanner();
      

If you hide the ad, you can call showBanner() to show the same add, to request a new banner, you have to release the old ad and then call loadBanner()

RevMobManager.releaseBanner();
      

Custom Banner

You can change its size and position using the RevMobManager.loadCustomBanner(x, y, width, height) function, where:

  • x is distance from the left side of the screen
  • y is distance from the bottom of the screen
  • width is the banner custom width
  • height is the banner custom height

Important: All sizes and distances are in pixels.
To show it:

RevMobManager.showCustomBanner();
      

Sample

import React, { Component } from 'react';
import {
  AppRegistry,
  StyleSheet,
  Text,
  View,
  NativeAppEventEmitter
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
class Example extends Component {
  componentDidMount () {
    RevMobManager.startSession('YOUR-MEDIA-ID', function revMobStartSessionCb(err){
      if(!err) RevMobManager.loadCustomBanner(0, 200, 100, 200); // Load custom banner if session starts successfully.
    })
    NativeAppEventEmitter.addListener('onRevmobBannerDidReceive', () => {
      RevMobManager.showCustomBanner(); // Show custom banner if it's loaded
    })
  }
  render() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Hello World!
        </Text>
      </View>
    );
  }
}
const styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  }
});
AppRegistry.registerComponent('Example', () => Example);
      

To hide the custom banner, just write the code below:

RevMobManager.hideCustomBanner();
      

If you hide the ad, you can call showCustomBanner() to show the same add, to request a new banner, you have to release the old ad with the code below, and then call loadCustomBanner(leftMargin, topMargin, bannerWidth, bannerHeight)

RevMobManager.releaseCustomBanner();
      
ant_smasher_banner

100-million-downloads Ant Smasher's home menu banner.

4 Video

You'll have to implement the event listener in order to achieve this behavior. See the example below and for more information, please check: Event Listener.
If you are developing for Android, don't forget to declare Revmob's FullscreenActivity on your AndroidManifest.xml file inside your <Application> tags:

<activity android:name="com.revmob.FullscreenActivity"
          android:theme="@android:style/Theme.Translucent"
          android:configChanges="keyboardHidden|orientation">
</activity>
            

Sample

In this example, we call the RevMobManager.loadVideo() function as soon as the session is started, and show the video attaching the function RevMobManager.showVideo() to the onRevmobVideoDidLoad listener as soon as the video is loaded.

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
import { NativeAppEventEmitter } from 'react-native';
class Example extends Component {
    componentWillMount () {
        NativeAppEventEmitter.addListener(
            'onRevmobVideoDidLoad',
                (e)=>{ RevMobManager.showVideo(); }
        );
    }
    componentDidMount () {
        RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
            if(!err) RevMobManager.loadVideo(); // Load video if session starts successfully.
        })
    }
    componentWillUnmount () {
        NativeAppEventEmitter.removeAllListeners()
    }
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>
                    Hello World!
                </Text>
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    }
});
AppRegistry.registerComponent('Example', () => Example);
            
ant_smasher_video

Revmob's Video test ad

5 Rewarded Video

Rewarded Video ads are offered as an option to earn digital currency in your app. You must tell the user it's an advertising video before showing the ad and giving the reward.
You can either prompt the user with a pre-roll box for him to accept or customize a button that he spontaneously will click, being aware that he's going to watch an advertising video.
Rewarded video ads are not skippable after the user has accepted to watch them.

You'll have to implement the event listener in order to achieve this behavior. See the example below and for more information, please check: Event Listener.
If you are developing for Android, don't forget to declare Revmob's FullscreenActivity on your AndroidManifest.xml file inside your <Application> tags:

<activity android:name="com.revmob.FullscreenActivity"
          android:theme="@android:style/Theme.Translucent"
          android:configChanges="keyboardHidden|orientation">
</activity>
            

Sample

In this example, we call the RevMobManager.loadRewardedVideo() function as soon as the session is started, and show the rewarded video attaching the function RevMobManager.showRewardedVideo() to the onRevmobRewardedVideoDidLoad listener as soon as the rewarded video is loaded.

import React, { Component } from 'react';
import {
    AppRegistry,
    StyleSheet,
    Text,
    View
} from 'react-native';
import { RevMobManager } from 'react-native-revmob';
import { NativeAppEventEmitter } from 'react-native';
class Example extends Component {
    componentWillMount () {
        NativeAppEventEmitter.addListener(
            'onRevmobRewardedVideoDidLoad',
                (e)=>{ RevMobManager.showRewardedVideo(); }
        );
        NativeAppEventEmitter.addListener(
            'onRevmobRewardedVideoComplete',
                (e)=>{
                    // YOUR CODE THAT REWARDS THE USER
                }
        );
    }
    componentDidMount () {
        RevMobManager.startSession("<YOUR_APP_ID>", function revMobStartSessionCb(err){
            if(!err) RevMobManager.loadRewardedVideo(); // Load rewarded video if session starts successfully.
        })
    }
    componentWillUnmount () {
        NativeAppEventEmitter.removeAllListeners()
    }
    render() {
        return (
            <View style={styles.container}>
                <Text style={styles.welcome}>
                    Hello World!
                </Text>
            </View>
        );
    }
}
const styles = StyleSheet.create({
    container: {
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    },
    welcome: {
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    }
});
AppRegistry.registerComponent('Example', () => Example);
            
ant_smasher_video

Revmob's Video test ad

1 Event Listeners

Revmob Listeners (also known as event handlers or delegates) are methods triggered by our SDK when ad-related events happen, giving you full control over the ad flow by letting you know and interact with what's going on.
The start session method (RevMobManager.startSession) has a callback in its second argument that can be used to determine whether the session has been successfully started or not.
To listen to ad unit events, you must import NativeAppEventEmitter from 'react-native' module and attach listeners to the ad events. In the code below, all events are listed and we attach a console.log for each of them.
Have a look at the Sample App, and for further doubts, head to our SDK Forum.

const listenerMap = {
  // Session event listeners
  onRevmobSessionIsStarted: () => console.log('Start session success.'),
  onRevmobSessionNotStarted: (e) => console.log('Session not started - error: ' + e.error),

  // Native link event listeners
  onRevmobUserDidClickOnNative: ()=> console.log('onRevmobUserDidClickOnNative'),
  onRevmobNativeDidReceive: ()=> console.log('onRevmobNativeDidReceive'),
  onRevmobNativeDidFailWithError: (e)=> console.log('onRevmobNativeDidFailWithError - error: ' + e.error),

  // Fullscreen ad unit event listeners
  onRevmobUserDidClickOnFullscreen: ()=> {console.log('onRevmobUserDidClickOnFullscreen');console.log('onRevmobUserDidClickOnFullscreen')},
  onRevmobFullscreenDidReceive: ()=> console.log('onRevmobFullscreenDidReceive'),
  onRevmobFullscreenDidFailWithError: (e)=> console.log('onRevmobFullscreenDidFailWithError - error: ' + e.error),
  onRevmobFullscreenDidDisplay: ()=> console.log('onRevmobFullscreenDidDisplay'),
  onRevmobUserDidCloseFullscreen: ()=> console.log('onRevmobUserDidCloseFullscreen'),

  // Banner ad unit event listeners
  onRevmobUserDidClickOnBanner: ()=> console.log('onRevmobUserDidClickOnBanner'),
  onRevmobBannerDidReceive: ()=> console.log('onRevmobBannerDidReceive'),
  onRevmobBannerDidFailWithError: (e)=> console.log('onRevmobBannerDidFailWithError - error: ' + e.error),
  onRevmobBannerDidDisplay: (e)=> console.log('onRevmobBannerDidDisplay'),

  // Video ad unit event listeners
  onRevmobVideoDidLoad: ()=> console.log('onRevmobVideoDidLoad'),
  onRevmobVideoDidFailWithError: ()=> console.log('onRevmobVideoDidFailWithError'),
  onRevmobVideoNotCompletelyLoaded: ()=> console.log('onRevmobVideoNotCompletelyLoaded'),
  onRevmobUserDidCloseVideo: ()=> console.log('onRevmobUserDidCloseVideo'),
  onRevmobVideoDidStart: ()=> console.log('onRevmobVideoDidStart'),
  onRevmobVideoDidFinish: ()=> console.log('onRevmobVideoDidFinish'),
  onRevmobUserDidClickOnVideo: ()=> console.log('onRevmobUserDidClickOnVideo'),

  // Rewarded Video ad unit event listeners
  onRevmobRewardedVideoDidLoad: ()=> console.log('onRevmobRewardedVideoDidLoad'),
  onRevmobRewardedVideoDidFailWithError: () => console.log('onRevmobRewardedVideoDidFailWithError'),
  onRevmobRewardedVideoNotCompletelyLoaded: ()=> console.log('onRevmobRewardedVideoNotCompletelyLoaded'),
  onRevmobRewardedVideoDidStart: ()=> console.log('onRevmobRewardedVideoDidStart'),
  onRevmobRewardedVideoDidComplete: ()=> console.log('onRevmobRewardedVideoDidComplete'),
};
Object.getOwnPropertyNames(listenerMap).forEach( (event) => {
  // console.log(event)
  NativeAppEventEmitter.addListener(
    event,
    listenerMap[event]
  );
});
            

1 Change Log (yyyy/mm/dd)

9.2.1 (2016/09/08)

  • ImportantUpdate Improved stability and performance
  • ImportantUpdate Improved Android banner pre caching

9.1.0 - 2016/05/31

  • NewImportant React Native package created, up to date with Android and iOS native SDKs.
  • Newnew First version.