Getting started with THEOads on React Native
This guide will get you started with THEOads in your THEOplayer React Native SDK: configure the license, update dependencies and set the source description.
Prerequisites
-
You need to have a THEOplayer license which is compatible with THEOads. This can be done through https://portal.theoplayer.com.
-
You need a working THEOads signaling service.
-
Enable the THEOads integration based on the target platform:
- Android & Android TV
- iOS & tvOS
- Web
The Android SDK is modular-based, so to enable THEOads, simply include the extension by setting this flag in your gradle.properties:
# Enable THEOplayer Extensions (default: disabled)
THEOplayer_extensionTHEOads = trueTo enable THEOads you can add the "THEOADS" feature flag to react-native-theoplayer.json (or theoplayer-config.json)
Add a dependency to a THEOads-enabled THEOplayer package:
$ npm i theoplayer@npm:@theoplayer/theoads
In addition, since THEOads integrates with Google DAI Pod Serving, it is required to load the Google DAI script on your page:
<script src="https://imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>
Integration
This guide assumes you know how to set up React Native with THEOplayer. For more information regarding this check out the THEOplayer getting started.
Player configuration
To make use of the THEOads integration, only a specific source needs to be set:
player.source = {
sources: {
src: 'PATH-TO-SIGNALING-SERVER/hls/MANIFEST-URI',
type: 'application/x-mpegurl',
hlsDateRange: true,
},
ads: [
{
integration: 'theoads',
networkCode: 'NETWORK-CODE',
customAssetKey: 'CUSTOM-ASSET-KEY',
backdropDoubleBox: 'PATH-TO-DOUBLE-BOX-BACKDROP-IMAGE', // Optional
backdropLShape: 'PATH-TO-L-SHAPE-BACKDROP-IMAGE', // Optional
},
],
};
- Notice that the
src
is different as usual. For THEOads, a signaling server needs to be set up which acts as a proxy to parse the given manifest and insert the ad interstitials. More information can be found here. - The
hlsDateRange
flag needs to be set totrue
as the ad markers are done usingEXT-X-DATERANGE
tags. - The
ads
object needs to have its integration set totheoads
. Furthermore, thenetworkCode
andcustomAssetKey
needs to be set according to your configured Google account.