# MediaMelon JWPlayer SDK Integration Document

### **Step 1: Add** the MediaMelonPlayer SDK <a href="#step-1-add-mediamelon-smartstreaming-sdk-hardbreak" id="step-1-add-mediamelon-smartstreaming-sdk-hardbreak"></a>

Add the following lines to the web page before JWPlayer js files are loaded.&#x20;

```javascript
  <script type="text/javascript" src="https://PATH_TO_MEDIAMELON_PLAYER_SDK/mmsmartstreaming_jwplayer.min.js"></script>

  <script type='text/javascript' src='https://cdn.jwplayer.com/libraries/YQo8ItYG.js'></script>
```

### **Step 2: Register and Initialize** the MediaMelon Player SDK <a href="#step-2-register-and-initialize-mediamelon-sdk" id="step-2-register-and-initialize-mediamelon-sdk"></a>

{% hint style="info" %}
\<customer\_id> is your MediaMelon-assigned Customer ID. If you do not know your Customer ID contact MediaMelon at [support@mediamelon.com](http://40mediamelon.com/)
{% endhint %}

After the player instance has been created, create a new Plugin object, register, report player Info and then initialize the plugin as shown below:

```javascript
<!DOCTYPE html>
<html>
<head>
    <title>JWPlayer HTML5</title>

    <script type="text/javascript" src="./mmsmartstreaming_jwplayer.min.js"></script>
    <script type="text/javascript" src="https://cdn.jwplayer.com/libraries/YQo8ItYG.js"></script>
</head>

<body>
    <div id="player">Loading the player...</div>
    <script>

        // Setup the player
        var player = jwplayer('player').setup({
            "playlist": [
                {
                    "file": "https://bitdash-a.akamaihd.net/content/sintel/hls/playlist.m3u8",
                    "title": "TITLE",
                    "mmVideoAssetInfo": {
                        "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",
                        "videoType": "VIDEO_TYPE",
                        "customTags": {
                            "key1": "VALUE_STRING1",
                            "key2": "VALUE_STRING2"
                        }
                    }
                }]

        });

        //mmintegration
        var MMsdkAdapter = new JWPlayerMMSSIntgr();
        MMsdkAdapter.registerMMSmartStreaming("PLAYER_NAME", "CUSTOMER_ID", "SUBSCRIBER_ID", "DOMAIN_NAME", "SUBSCRIBER_TYPE", "SUBSCRIBER_TAG");
        MMsdkAdapter.reportPlayerInfo("BRAND", "MODEL", "VERSION");
        
        var isLive = false;    //Set this to true for a live stream or false for a VOD stream
        // If isLive is not set here, it will be handled internally by the SDK.
        MMsdkAdapter.init(player, isLive);
    </script>
</body>
</html>
```
