Brightcove Plugin Browser (Draft)

From Engineering Client Portal

Engineering Portal / Digital / DCR & DTVR / Brightcove Plugin Browser (Draft)

The Nielsen Browser SDK (Software Development Kit) is the Nielsen framework for measuring media consumption in browser environments.

OS Player Version SDK Version Supported Ad Frameworks Download
{{{alt}}}
iOS
5.18.0 - 5.22.0 5.1.1 Contact Nielsen

.

This SDK has the following features:

  • Multiple product support: built-in capabilities to support Digital Content Ratings(DCR), VideoCensus(VC), Digital Program Ratings(DPR) and IAG.

Note: This Plugin should not be used with Brightcove V5 player v5.18 - 5.22.0

Getting Started

What You Will Need?

  • Nielsen App ID (apid): a Unique ID that Nielsen assigns to the site / player. The 'apid' will be provided by your Technical Account Manager.
  • BrightCove Plugin: Plugin URLs are provided in the below section.
  • Test Environment Validation: before you move into production, Nielsen must validate the SDK integration in a test environment.

Initial Configuration

Before integrating the plugin, configure the metadata, obtain Nielsen APID's, and review the Nielsen plugin URLs for Brightcove.

Obtain the Nielsen Application ID (apid)

The Nielsen apid is required to enable SDK functionality. Your Technical Account Manager will provide two apids for each player configuration

  • Test apid: use this apid during development and testing
  • Production apid: use this apid in your production environment after Nielsen has tested and qualified the player.

Brightcove Plugin URL's

Global Parameters

To initialize the Nielsen Browser SDK, pass four global parameters when adding the BC Perform plugin.

Keys Description Values
apid Unique ID assigned to player/site. There are two IDs provided 'XXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
  • Test: begins with 'T' and is used for testing
  • Production: begins with 'P' and is used in live environment when testing and certification is completed.
sfcode Location of collection environment. During testing, all traffic should be directed to 'dcr-cert'. testing: 'dcr-cert'

production: 'dcr'

nsdkv Nielsen SDK Version '511'
apn User-defined string value for describing the player / site. custom

The below parameter is optional but recommended when testing implementation.

Keys Description Values
nol_sdkDebug Nielsen SDK console logging that should be used while testing. Make sure to disable before moving the implementation to production. 'INFO' – API calls

'WARNING' – System level logs

'ERROR' – Error logs

'DEBUG' – Full logs

Configure Metadata

There are two types of metadata

  • DCR Content Metadata: identify content
  • DCR Ad Metadata: identify ad

Metadata can be passed through key-values using the Nielsen reserved keys.

The metadata received for each asset is used for classification and reporting. There are reserved Nielsen keys for collecting the required metadata.

Content Metadata

Keys Description Values Type Required
type Type of asset 'content' string Yes
assetid Unique ID assigned to asset custom
(no Special Characters)
string Yes
program Program Name custom string Yes
title Episode title custom string Yes
airdate The original airdate for linear TV '20161013 20:00:00' date No
length Length of content in seconds 3600 (0 for live stream) integer Yes
segB Custom Reporting Segment custom string No
segC Custom Reporting Segment custom string No
isfullepisode Full Episode Flag

'y' - Full Episode

'n' - Non Full Episode

boolean Yes
adloadtype Distinguishes Dynamic vs Linear Ad Insertion

'1' - Linear

'2' - Dynamic

integer Yes
crossId1 Standard Episode ID custom string Yes
crossId2 Content Originator ID custom string No
mediaURL URL location of the content being streamed custom string Yes
hasAds Distinguishes when content includes Ads

'0' - No Ads

'1' - Includes Ads

'2' - Unknown

integer Yes

Ad Metadata

Keys Description Values Type Required
type Type of ad

'preroll'

'midroll'

'postroll'

string Yes
assetid Unique ID assigned to ad custom string Yes

Note:There is a URL character limit of 2000 characters imposed due to browser limitations. Exceeding this value can impair data delivery on particular browsers.

Setup

In order to integrate the Nielsen plugin, follow the steps for setting up these players in the Brightcove user interface as they appear below by each player type.

Brightcove Player Setup

The new Brightcove Perform player allows two interchangeable ways to add the plugin: on the web site, so the player will come already configured, and programmatically on the client side.

These options, as well as the whole process of adding a plugin is common to the player and described here http://support.brightcove.com/en/perform/docs/configuring-player-plugins

For Nielsen SDK plugin, the integrator would need

To add Nielsen SDK plugin using UI do the following

Open Brightcove VideoCloud portal, open players list and open (or create) a player the plugin should be added to. Scroll down to the 'Plugins' section in player configuration

Plugins-BC.jpg

  • Click "Edit" and enter the URL to plugin JS file. Click "+" to add the row.

js-BC.jpg

  • Then click "Name, Options (JSON)" row and enter "NielsenBC" for the plugin name and required initialization parameters provided by your Nielsen Technical Account Manager, as below:

Js-BC2.jpg

Example Code:

{
  "nol_sdkDebug": "DEBUG",
  "sfcode": "dcr-cert",
  "apn": "Test_player_name",
  "nsdkv": "511",
  "apid": "T4BFBFAC9-XXXX-XXXX-XXXX-22B092CBCC2B",
}

Adding "nol_sdkDebug": "DEBUG" will allow SDK events in the console.

Note: "nol_sdkDebug": "DEBUG" must be removed when moving a player live to production to disable the debug logging.

Pass Content & Ad Metadata to The Brightcove Video Player

Pass the required content, and ad metadata to the Brightcove video player so that the Nielsen Plug-In is able to pick it up in order to populate the DCR crediting tags. The Nielsen Plug-In is preconfigured to automatically obtain metadata from Custom Fields. These can be set through the Brightcove User Interface (under ADMIN) or programmatically.

Information on creating Custom Metadatafields can be found on the Support site.

Note: If you are using the Brightcove player with the PERFORM service, you will need to populate the media info. Please contact Brightcove support for details on this process.

Video-Fields.jpg

For more information on how to pass the required metadata to the Brightcove VideoCloud player, please reach out to your Brightcove Account Manager for further assistance.

To add Nielsen SDK programmatically

  • Include plugin source
    <script src="//cdn-gl.imrworldwide.com/novms/bc/3/ggng510.js"></script>
    
  • Bind plugin to the player with inititalization parameters
    videojs("myPlayerID").NielsenBC(
      {
        "apid": "PXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
        "apn": "Your_player_name",
        "sfcode": "dcr-cert",
        "nsdkv": "511"
      }
    }
    
  • For CMS data binding, the following rules apply
  • The plugin automatically captures the following video data
  • * Data from video duration is automatically capture by the plugin
    nielsenData.length = videoInfo.duration;
    
  • * Field "type" is set to "content", "preroll", "midroll" or "postroll".
  • If video data contains custom fields, all those fields are copied over to Nielsen data: nielsenData[i] = videoInfo.custom_fields[i] (with 'i' iterated over all custom field names), which may override some of the default values or standard field values
  • The plugin does not automatically assign a value to assetid. To pass programmatically, use the custom fields object. (See code example below)
  • Parameter videoInfo.id must be a unique string to allow the plugin detecting the content change.

Notes

  • If some CMS metadata values should be set for all videos played, those values can be passed as "defaults" field on the player level (in the player configuration), like this
    {
      "apid": "PXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
      "apn": "Your_player_name",
      "sfcode": "dcr",
      "nsdkv": "511",
      "defaults": { "customValue": "true" }
    }
    
  • CMS metadata values can also be set at the asset level
    {
      "sources" :
        [ {
          "src" : "http://solutions.brightcove.com/../videos/Sea_SeaHorse.mp4",
          "type" : "video/mp4"
        } ],
        "custom_fields":
          {
            "assetid": "6475587654",
            "mediaURL": "http://solutions.brightcove.com/bcls/../videos/Sea_Anemone.mp4",
            "dataSrc": "cms",
            "hasAds": "1"
          },
          "name": "Sea Anemone",
          "thumbnail": "http://solutions.brightcove.com/bcls/assets/images/Sea_Anemone_poster.png",
          "id": "5195888503001"
    }
    }
    

Ad Support

The plugin will also extract information about the number and length of advertisements played with the video.

Opt-Out Implementation

The site must provide a means for the user to opt out of, or opt back into Nielsen Measurement. A user can opt out if preferring to not participate in any Nielsen online measurement research. To implement the Opt-Out option, include the following in the privacy policy page:

  • A notice that the player includes proprietary measurement software that allows users to contribute to market research (such as Nielsen TV Ratings)
  • A link to the Nielsen Digital Measurement Privacy Policy at http://www.nielsen.com/digitalprivacy

On the Nielsen Digital Measurement Privacy Policy page, users can click choices to read more detailed information about the measurement software and their options. The users can click a link to retrieve an Opt-Out cookie if they do not want to participate in Nielsen online measurement.

Nielsen properties may feature Nielsen proprietary measurement software, which will allow the users to contribute to market research, such as Nielsen TV Ratings.

To learn more about the information that Nielsen software may collect and your choices with regard to it, please see the Nielsen Digital Measurement Privacy Policy at http://www.nielsen.com/digitalprivacy.

Opt-In

Once users have opted out, they can choose to opt back into Nielsen Measurement at anytime by selecting the Opt-In link on the Nielsen Digital Privacy Policy page. When a user selects the link, their Opt-Out cookie will be deleted and they will be measured.

Going Live

After the integration is certified, there is one update to be made to the existing code to ensure that the player will be measured properly:

  • App ID: Change the apid to the production ID starting with the letter 'P':
    'PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'
    
  • Collection Environment: Change the value for sfcode from dcr-cert to dcr to point traffic to the Nielsen production collection environment. Do not use dcr-cert for production traffic

Note: Ensure that the nol_sdkDebug parameter is not used.