MediaMelon iOS Kaltura Player Plugin Integration Document

This guide provides detailed instructions on integrating the MediaMelon Plugin into a Kaltura player based iOS Media Player Application

Step 1: Import Frameworks

Step 2: Register MediaMelon Plugin

Step 3: Configure and Initialise MediaMelon SDK

Step 1: Import Frameworks

import KalturaPlayer
import MediaMelonKPPlugin

Step 2: Register MediaMelon Plugin

Register the MediaMelon Plugin in the App Delegate after the player setup.

KalturaBasicPlayer.setup()
PlayKitManager.shared.registerPlugin(MediaMelonKPPlugin.self)

Step 3: Configure and Initialise MediaMelon SDK

Swift:

func createPluginConfig() ->  MediaMelonKPPluginConfig {
        
    let mediaMelonPluginParams: [String: Any] = [
        "customerId": "CUSTOMER_ID",
        "domainName": "DOMAIN_NAME",
        "subscriberTag": "SUBSCRIBER_TAG",
        "subscriberId": "SUBSCRIBER_ID",
        "subscriberType": "SUBSCRIBER_TYPE",
        "doHash": true,
        "playerName": "PLAYER_NAME",
        "playerVersion": "PLAYER_VERSION",
        "playerBrand": "PLAYER_BRAND",
        "playerModel": "PLAYER_MODEL",
        "assetId": "ASSET_ID",
        "assetName": "ASSET_NAME",
        "videoId": "VIDEO_ID",
        "seriesTitle": "SERIES_TITLE",
        "episodeNumber": "EPISODE_NUMBER",
        "season": "SEASON",
        "contentType": "CONTENT_TYPE",
        "genre": "GENRE",
        "appName": "APP_NAME",
        "appVersion": "APP_VERSION",
        "deviceMarketingName": "DEVICE_MARKETING_NAME",
        "videoQuality": "VIDEO_QUALITY",
        "deviceId": "DEVICE_ID",
        "disableManifestFetch": false,
        "customTags": [
            "KEY1": "VALUE1",
            "KEY2": "VALUE2"
        ]
    ]
    
    var mmPluginConfig = MediaMelonKPPluginConfig(params: mediaMelonPluginParams)
    return mmPluginConfig
  }
func playerOptions(_ videoData: VideoData?) -> PlayerOptions {
    let playerOptions = PlayerOptions()
    
    .....
    
    playerOptions.pluginConfig.config[MediaMelonKPPlugin.pluginName] = createPluginConfig()
    return playerOptions
}
  • doHash: To hash the subscriber ID, set it to true. To leave the subscriber ID un-hashed, set it to false. This is optional.

Variable

Description

PLAYER_NAME

String containing the Player Name.

CUSTOMER_ID

String containing your MediaMelon-assigned Customer ID.

SUBSCRIBER_ID

String containing your Subscriber’s ID. If you do not use subscriber IDs, enter null

DOMAIN_NAME

String containing your section of your subscriber or assets.

SUBSCRIBER_TYPE

String containing the Subscriber Type (e.g. “Free”, “Paid”). If you do not use subscriber types, enter null

SUBSCRIBER_TAG

String containing an additional subscriber-specific information. This is sent in clear (not hashed) to SmartSight and it is advised to not send sensitive information in this field.

ASSET_ID

String containing Asset Id.

ASSET_NAME

String containing Asset Name.

VIDEO_ID

String containing your video’s ID. If you do not use videos IDs, enter null.

CONTENT_TYPE

String containing type of the Content. For example - "Movie", "Special", "Clip", "Scene Epis Lifts".

GENRE

String containing Genre of the content. For example - "Comedy", "Horror".

DRM_PROTECTION

Widevine, Fairplay, Playready etc. Unknown means content is protected, but protection type is unknown. For clear contents, do not set this field

EPISODE_NUMBER

String containing sequence number of the Episode.

SEASON

String containing the Season. For example - "Season1".

SERIES_TITLE

String containing Title of the Series.

CUSTOM_TAGS

Extra custom metadata can be added here if required.

PLAYER_BRAND

String containing Player Brand.

PLAYER_MODEL

String containing Player Model. For example - This could be a variant of player. Say name of third party player used by organisation. Or any human readable name of the player.

PLAYER_VERSION

String containing Player Version.

Last updated