MediaMelon React Player SDK with IMA
This guide provides detailed instructions on integrating the MediaMelon IMA SDK with the React Player
Last updated
import {MMReactPlayerSDK, MMIMAAdapter, MMAdState, MMAdInfo} from 'mediamelon-react-sdk';import {MMReactPlayerSDK, MMIMAAdapter, MMAdState, MMAdInfo} from './mmsmartstreaming_reactplayer.min.js'const MMReactPlayerSDK = MMReactPlayerSDK(ReactPlayer);
<MMReactPlayerSDK
ref={this.ref}
playerRef={this.player}
className='react-player'
width='100%'
height='100%'
url={url}
...
mmOptions={{
register: {
customerId: 'CUSTOMER_ID',
subscriberId: 'SUBSCRIBER_ID',
subscriberType: 'SUBSCRIBER_TYPE',
subscriberTag:'SUBSCRIBER_TAG',
playerName: 'PLAYER_NAME',
playerBrand:"PLAYER_BRAND",
playerModel:"PLAYER_MODEL",
playerVersion:'PLAYER_VERSION',
basePlayerName: "BASE_PLAYER_NAME",
basePlayerVersion: "BASE_PLAYER_VERSION",
experimentName: "EXPERIMENT_NAME",
subPropertyId: "SUB_PROPERTY_ID",
viewSessionId: "VIEW_SESSION_ID",
domainName: 'DOMAIN_NAME',
applicationName: 'APP_NAME',
applicationVersion: 'APP_VERSION',
deviceMarketingName:'DEVICE_MARKETING_NAME'
},
contentMetadata: {
assetName:'ASSET_NAME',
assetId:"ASSET_ID",
videoId:"VIDEO_ID",
contentType:'CONTENT_TYPE',
genre:'GENRE',
drmProtection:'DRM_PROTECTION',
episodeNumber:'EPISODE_NUMBER',
season:'SEASON',
seriesTitle:'SERIES_TITLE',
isLive: false,
},
customTags:{
"KEY1": "VALUE_STRING1",
"KEY2": "VALUE_STRING2"
},
enableLogTrace:false
}}
/>const mmAdAdapter = MMIMAAdapter();
const sdkAdInfo = MMAdInfo();
sdkAdInfo.adClient = "AD_CLIENT";
sdkAdInfo.adId = "AD_ID";
sdkAdInfo.adCreativeId = "CREATIVE_ID";
sdkAdInfo.adUrl = "AD_URL";
sdkAdInfo.adTitle = "AD_TITLE";
sdkAdInfo.adServer = "AD_SERVER";
sdkAdInfo.adCreativeType = "AD_CREATIVE_TYPE";
sdkAdInfo.adDuration = <ad_duration_in_seconds>;
sdkAdInfo.adPodLength = <ad_pod_length>;
sdkAdInfo.adIsLinear = <is_ad_linear_boolean>;
mmAdAdapter.reportAdInfo(sdkAdInfo);mmAdAdapter.reportAdEvent(<MMAdState>);