thePlatform Plugin Android

From Engineering Client Portal

Revision as of 21:51, 20 October 2017 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Engineering Portal / Digital / DCR & DTVR / thePlatform Plugin Android

Nielsen App SDK Plugin for thePlatform interacts with Nielsen App SDK to provide with necessary data for streaming measurement based on the SDK events received from thePlatform Player SDK.

OS Player Version SDK Version Supported Ad Frameworks Download
{{{alt}}}
iOS
1.8.7 5.1.1.18 FreeWheel Download

Plugin Implementation

Pre-requisites

  • Nielsen SDK Configuration Form: Complete this form to receive the appid(s). The information on this form is required to set up the Content Management System (CMS) mapping for the app.
  • Nielsen App ID (appid): A unique ID that Nielsen assigns to the site / player.
  • Nielsen App SDK Plugin for thePlatform: The download link for the Plugin Packages are provided with the Nielsen appid(s).
  • thePlatform Player SDK for Android
  • VideoView: Before moving the app into production, Nielsen must validate the Plugin’s integration in a test environment.

Initial Configuration

Before integrating the Plugin, make sure to download the following:

  • Nielsen App SDK Plugin for thePlatform Package, which includes
    • Plugin Implementation Guide (this document)
    • The Nielsen App SDK Plugin for thePlatform source code and
    • The sample application source code which supports thePlatform’s FreeWheel ad Plugin.
  • Build the Nielsen Plugin and sample app from the player application project is accomplished by doing the following:
    • Unzip the NielsenAppSDKPlugintPlatform.zip file.
    • Build the Plugin’s aar file as follows.
    • Import the module NielsenthePlatformPlugin into the project.
    • Create a /libs directory in NielsenthePlatformPlugin.
    • Copy the Nielsen AppSDK and thePlatform’s jar files into this /libs directory.
    • Build the NielsenthePlatformPlugin module and this should produce the NielsenthePlatformPlugin.aar file.
    • Build the SampleApp with the Plugin
  • Nielsen SampleApp
    • Import the module NielsenSampleAppForthePlatform into the project.
    • Include the following in the build.gradle to compile with the NielsenthePlatformPlugin
compile project(:NielsenthePlatformPlugin)
    • Build the NielsenSampleAppForthePlatformPlugin module and this should produce the NielsenSampleAppForthePlatform.apk file (Sample App with Plugin).

Initialization with Global Parameters

To create the Plugin that initializes the AppSDK, pass the global parameters in a JSON string format. Some of the global parameters are

  • Nielsen App ID (appid)
  • app version
  • app name
  • sfcode
  • dma
  • ccode
  • CMS Metadata

For more details refer to the Nielsen Android SDK API Reference.

Setup

The steps for setting up the Nielsen App SDK Plugin for thePlatform Player are as follows

Nielsen App SDK Plugin Creation

The Nielsen App SDK Plugin for thePlatform integrates with thePlatform ADK by listening for events from the player and emits events for the player. It is also a wrapper for the Nielsen App SDK.

The App creates the Plugin as mentioned below.

plugin = new Plugin(this, tpPlayer, config, player, this);

where

  • this refers to the current object,
  • config contains the parameters to initialize the App SDK in the JSON format.

    Note: The debug mode parameter has been changed to “nol_devDebug” and the permitted values are DEBUG/INFO/WARNING/ERROR.

  • player is thePlatform player reference

Refer to the Nielsen SDK Documentation for more details on the App SDK configuration parameters. For more details refer to the Nielsen Android SDK API Reference.

Passing Metadata

The Plugin contains three interface methods that the client needs to implement to provide the necessary metadata for content and ad and also the metadata required for play.

This data is returned in a map container.

Map<String, String> getMetaData(MediaUnPauseEvent event, Player player);
Map<String, String> getMetaData(MediaLoadStartEvent event, Player player);
Map<String, String> getMetaData(ReleaseStartEvent event, Player player);

The data returned by the getMetaData() for content contains

  • Assetid : unique id assigned to asset
  • Program : program name
  • Title : episode title – only applicable to video content
  • Length – length of content in seconds
  • segA – segment A will be episode title for video content
  • segB – Segment B
  • segC – Segment C

The data returned by the getPlayData() contains the “channelName”. For more details refer to the Nielsen Android SDK API Reference.

Calling the methods

The Plugin provides the following methods for the application to communicate with the plugin.

Function Name
AppDisable Void appDisable(boolean value)
Config Settings Change void appIntializeAppSdk(Object config*)
  • config is a JSONObject
OptIn/OptOut void sendOptInOutEvent(String optResult)
Static Content void sendStaticContent(Object content*)
  • content is a JSONObject

Releases

Name Version # Date Comments
Nielsen AppSDK Plugin for thePlatform (FreeWheel) 1.0.0 01/11/2016 Initial version of the Nielsen App SDK Plugin for thePlatform (Android) with support for FreeWheel ads.
Nielsen AppSDK Plugin for thePlatform 1.1.0 04/26/2016 Nielsen App SDK Plugin for thePlatform (Android) is compatible with App SDK build for US and International (Germany) clients and was tested with AppSdk 5.1.0.4 build.
Nielsen AppSDK Plugin for thePlatform 1.2.0 05/18/2017 Nielsen App SDK Plugin for thePlatform player with DCR and DTVR support. It was tested with AppSdk 5.1.1.18 build and Player version 1.8.7.1