MediaMelon iOS Custom SDK Integration Document
This guide is for integrating the MediaMelon Custom SDK for the iOS/tvOS-based Players
Step 1: Add MediaMelon SDK
Step 2: Register and Initialize MediaMelon SDK
Step 3: Additional Custom Metadata
Step 4: Network and Stream Information
Step 5: Chunk/Segment Information
Step 6: Player Events
Step 7: Fallback & Request Status
Step 8: Ad Data & Ad Events
Step 9: Custom Events
Step 1: Add MediaMelon SDK
SPM:
.package(
url: "https://github.com/MediamelonSDK/mm-ios-qoe-sdk",
.upToNextMajor(from: "2.16.0")
),Step 2: Register and Initialize MediaMelon SDK
Step 2.1: Instantiate and Set SDK Registration Information:
Step 2.3: Set Device Information:
Step 2.4: Report Application Information:
Step 2.5: Report Application Session ID:
Step 2.6: Report Experiment Name & Sub Property ID:
Step 2.7: Set Content Metadata:
Step 2.8: Initialize Session with Content Metadata:
Step 3: Additional 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 4: Network and Stream Information
Step 4.1: Report Network Information:
Step 4.2: Report CDN Information:
Step 4.3: Report Stream Information:
Step 4.4: Report Video Presentation Information:
Step 4.5: 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 4.6: 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 4.7: Update DRM Type:
Step 4.8: Report Encoding Service:
Step 5: Chunk/Segment Information
Step 5.1: Report Download Rate:
Report the latest chunk download rate using this method. Trigger this method for every chunk.
Step 6: Player Events
Step 6.1: Report Player State:
Step 6.2: Report Buffering:
Step 6.3: Report Seek:
Step 6.4: Report Error:
Step 6.5: Report Warning:
Step 6.5: Report Playback Position:
Call this every 0.5 sec or 1 sec to report the playback position from the player
Step 6.6: Report Player Resolution:
Step 7: Fallback & Request Status
Step 7.1: Report Fallback Event:
Step 7.2: Report Request Status:
Report FAILED or CANCELLED requests for the following request types:
PIR
MANIFEST
AUDIO_CHUNK
VIDEO_CHUNK
DRM
SUBTITLE
Step 8: Ad Data & Ad Events
Step 8.1: Report Ad Break Start & End:
Step 8.2: Report Ad Data, Ad Start & End:
Step 8.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: 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