MediaMelon JS Custom Multi-Player SDK Integration Document
This guide is for integrating the MediaMelon Custom Multi-Player SDK for the JavaScript-based Web Players
Step 1: Add MediaMelon Player SDK
Step 2: Instantiate and Register SDK
Step 3: Initialize Playback Session
Step 4: Custom Metadata
Step 5: Stream and Network Information
Step 6: Chunk/Segment Information
Step 7: Player Events
Step 8: Fallback & Request Status
Step 9: Ad Data & Ad Events
Step 10: Custom Events
Step 1: Add MediaMelon SDK
NPM (2.2.1):
npm i mediamelon-js-custom-sdkimport { mmJSCustomAdapter, MMPlayerState, RenditionInfo, RequestStatus, MMAdEvent} from 'mediamelon-js-custom-sdk'Step 2: Instantiate and Register SDK
Step 2.1: Instantiate and Report Registration Information:
Step 2.2: Report Player Information:
Step 2.3: Report Application Information:
Step 2.4: Report Device Information:
Step 2.5: Report Sub Property ID:
Step 3: Initialize Playback Session
Step 3.1: Initialize Session with Content Metadata:
All metadata fields set from Step 3 will be reset when initializeSession is called. Therefore, ensure that all session-specific metadata, such as view session ID, preload, and similar fields, are reported after initializeSession is called for every playback session.
Step 3.2: Report View Session ID:
Step 3.3: Report Experiment Name:
Step 3.4: Report Preload:
Step 3.5: Report Player Resolution:
Step 3.6: Report User-Initiated Playback:
Step 4: Custom Metadata
Check the custom tags configuration in your dashboard and report accordingly. If the custom tags are not configured, please configure and use them accordingly.
Step 5: Stream and Network Information
Step 5.1: Report Stream Information:
Step 5.2: Update Stream URL:
Step 5.3: Report Presentation Info:
Step 5.4: Report Track Information
Call this API with initial values, and every time there is a change in the track info. Call this API when the user enables/disables subtitles or when the user changes the audio track.
Step 5.5: Report Rendition:
At the start of the video, create a ReditionInfo object, assign initial rendition values to the object, and report it to the SDK. For any subsequent rendition change, update only the fields that changed in the same RenditionInfo object. Leave the unchanged fields as-is, and report the updated object to the SDK.
Step 5.6: Update DRM Type:
updateDrmType(drmType:) is deprecated. A new API called updateDRM(drmProtection:, drmLevel:) is introduced.
Step 5.7: Report Network Information:
Step 5.8: Report CDN Information:
Step 5.9: Report Encoding Service:
Step 6: Chunk/Segment Information
Step 6.1: Report Download Rate:
Report the latest chunk download rate using this method. Trigger this method for every chunk.
Step 7: Player Events
Step 7.1: Report Player State:
Step 7.2: Report Buffering:
Step 7.3: Report Seek:
Step 7.4: Report Error:
Step 7.5: Report Warning:
Step 7.6: Report Playback Position:
Call this every 0.5 sec or 1 sec to report the playback position from the player
Step 7.7: Report Player Resolution:
Step 8: Fallback & Request Status
Step 8.1: Report Fallback Event:
Step 8.2: Report Request Status:
Step 9: Ad Data & Ad Events
Step 9.1: Report Ad Break Start & End:
Step 9.2: Report Ad Data, Ad Start & End:
Step 9.3: Report Ad Buffering:
Use Ad Buffering APIs to report any buffering that occurs during ad playback. For any buffering event, either content buffering or ad buffering should be reported, but not both.
Step 9.3: Report Ad Events:
Use the reportAdEvent function to report all Ad events.
Step 9.4: Report Ad Errors and Warnings
Report Ad Error :
Report Ad Warning:
Step 10: Custom Events
The Custom Events API can be used to report events that are not covered by the default MediaMelon-supported events. Custom events must be reported within the SDK activity lifecycle. Events reported before SDK initialization or after session end will be ignored. Please refer to the guidelines and constraints below.
Release Notes
Last updated