thePlatform Plugin iOS: Difference between revisions

From Engineering Client Portal

(Created page with "{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} Category:Digital '''Nielsen App SDK Plugin for thePlatform''' interacts with Nielsen App SDK to provide with n...")
 
No edit summary
 
(8 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}
{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}}  {{CurrentBreadcrumb}}
[[Category:Digital]]
[[Category:Digital]]
'''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.
'''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.


'''Supported Ad Frameworks'''
{{PluginInfobox
* FreeWheel
|pluginImage=thePlatformIcon
|osImage=macOSIcon
|playerVersion=1.8.9
|SDKVersion=5.1.1.19
|supportedAdFrameworks=FreeWheel
|downloadLink=https://engineeringportal.nielsen.com/w/downloads/digital/plugins/theplatform/ios/Nielsen-App-SDK-thePlatform-Plugin-iOS-1.1.0.zip
}}


==Plugin Implementation ==
==Plugin Implementation ==
Line 26: Line 33:


*'''Nielsen App SDK'''
*'''Nielsen App SDK'''
** Download the Nielsen App SDK framework from [[Downloads]]
** Download the Nielsen App SDK framework from [[Digital Downloads]]


* Follow the steps below, to build the Nielsen Plugin and sample app from the player application project
* '''Build the Nielsen Plugin and sample app''' from the player application project is accomplished by doing the following:
* Unzip the NielsenAppSDKPlugin Platform package.
** Unzip the NielsenAppSDKPlugin Platform package.
* Import the Nielsen Plugin in to the sample app project
** Import the Nielsen Plugin in to the sample app project
* Import the Platform player SDK if it is not imported previously
** Import the Platform player SDK if it is not imported previously
* Copy both “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework” in to NielsenSampleApp project. Make sure frameworks are linked: under Build Phases → Link Binary with Libraries.
** Copy both “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework” in to NielsenSampleApp project. Make sure frameworks are linked: under Build Phases → Link Binary with Libraries.
* click ‘+’ sign and add “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework”.
** click ‘+’ sign and add “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework”.
* Build the sample app
** Build the sample app


=== Initialization with Global Parameters ===
=== Initialization with Global Parameters ===
Line 50: Line 57:
The steps for setting up the Nielsen App SDK Plugin for thePlatform Player are as follows.
The steps for setting up the Nielsen App SDK Plugin for thePlatform Player are as follows.


'''Nielsen App SDK Plugin Creation'''
=== Nielsen App SDK Plugin Creation ===
 
The Nielsen App SDK Plugin for thePlatform integrates with thePlatform SDK by listening for events from the player, plugins and emits events for the player. It is also a wrapper for the Nielsen App SDK.
The Nielsen App SDK Plugin for thePlatform integrates with thePlatform SDK by listening for events from the player, plugins and emits events for the player. It is also a wrapper for the Nielsen App SDK.


Line 57: Line 63:
* Add property<syntaxhighlight lang="objective-c">@property (nonatomic, strong) NielsenThePlatformPlugin *thePlatformPlugin;</syntaxhighlight>
* Add property<syntaxhighlight lang="objective-c">@property (nonatomic, strong) NielsenThePlatformPlugin *thePlatformPlugin;</syntaxhighlight>
* Instantiate the plugin and register it with instance of ‘TPPlayerView’<syntaxhighlight lang="objective-c">self.thePlatformPlugin = [[NielsenThePlatformPlugin alloc]
* Instantiate the plugin and register it with instance of ‘TPPlayerView’<syntaxhighlight lang="objective-c">self.thePlatformPlugin = [[NielsenThePlatformPlugin alloc]
initWithAppInfo:@{@”appid”: @”MY_APP_ID”,
initWithAppInfo:@{@"appid": @"MY_APP_ID",
                     @”appversion”: @”MY_APP_VERSION”,
                     @"appversion": @"MY_APP_VERSION",
                     @”appname”: @”MY_APP_NAME”,
                     @"appname": @"MY_APP_NAME",
                     @”sfcode”: @”MY_SFCODE”};
                     @"sfcode": @"MY_SFCODE"};
                     self.thePlatformPlugin.dataSource = self;
                     self.thePlatformPlugin.dataSource = self;
                     [self.player addDelegate:self.thePlatformPlugin];</syntaxhighlight>
                     [self.player addDelegate:self.thePlatformPlugin];</syntaxhighlight>
* Implement ‘NielsenThePlatformDataSource’ delegate by adding the following method. The plugin will call this method to fetch content metadata for the video.<syntaxhighlight lang="objective-c">– (NSDictionary *)contentMetadataForClip:(TPClip *)clip</syntaxhighlight>Any key value from the content metadata can be set with an exception of ‘length’, ‘type’ and ‘title’. Plugin will call the below method to know about the channel information associated with the video.<syntaxhighlight lang="objective-c">– (NSDictionary *)channelInfoForClip:(TPClip *)clip</syntaxhighlight>
* Implement ‘NielsenThePlatformDataSource’ delegate by adding the following method. The plugin will call this method to fetch content metadata for the video.<syntaxhighlight lang="objective-c">– (NSDictionary *)contentMetadataForClip:(TPClip *)clip</syntaxhighlight>Any key value from the content metadata can be set with an exception of ‘length’, ‘type’ and ‘title’. Plugin will call the below method to know about the channel information associated with the video.<syntaxhighlight lang="objective-c">– (NSDictionary *)channelInfoForClip:(TPClip *)clip</syntaxhighlight>


Refer to [[Onboarding Process]] for more information.
Refer to [[Digital Measurement Onboarding]] for more information.


== Opt-Out ==
== Opt-Out ==

Latest revision as of 21:50, 20 October 2017

Engineering Portal breadcrumbArrow.png Digital breadcrumbArrow.png DCR & DTVR breadcrumbArrow.png thePlatform Plugin iOS

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.9 5.1.1.19 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).
  • For Ad Support: Google IMA, FreeWheel and OnceUX SDK.
  • Test Environment Validation: Before moving the app into production, Nielsen must validate the Plugin’s integration in a test environment.

Initial Configuration

Before integrating our 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 NielsenAppSDKPlugin Platform package.
    • Import the Nielsen Plugin in to the sample app project
    • Import the Platform player SDK if it is not imported previously
    • Copy both “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework” in to NielsenSampleApp project. Make sure frameworks are linked: under Build Phases → Link Binary with Libraries.
    • click ‘+’ sign and add “NielsenAppApi.Framework” and “thePlatformPlayerSDK.framework”.
    • Build the sample app

Initialization with Global Parameters

To initialize the Plugin that initializes the App SDK, pass the global parameters in JSON string format. Some of the global parameters are

  • Nielsen App ID (appid)
  • appversion
  • appname
  • sfcode
  • dma
  • ccode
  • CMS Metadata

For more details refer to the Nielsen iOS 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 SDK by listening for events from the player, plugins and emits events for the player. It is also a wrapper for the Nielsen App SDK.

  • When the player is initialized add import_request_variables
    #import <NielsenThePlatformPlugin/NielsenThePlatformPlugin.h>
    
  • Add property
    @property (nonatomic, strong) NielsenThePlatformPlugin *thePlatformPlugin;
    
  • Instantiate the plugin and register it with instance of ‘TPPlayerView’
    self.thePlatformPlugin = [[NielsenThePlatformPlugin alloc]
    initWithAppInfo:@{@"appid": @"MY_APP_ID",
                        @"appversion": @"MY_APP_VERSION",
                        @"appname": @"MY_APP_NAME",
                        @"sfcode": @"MY_SFCODE"};
                        self.thePlatformPlugin.dataSource = self;
                        [self.player addDelegate:self.thePlatformPlugin];
    
  • Implement ‘NielsenThePlatformDataSource’ delegate by adding the following method. The plugin will call this method to fetch content metadata for the video.
     (NSDictionary *)contentMetadataForClip:(TPClip *)clip
    
    Any key value from the content metadata can be set with an exception of ‘length’, ‘type’ and ‘title’. Plugin will call the below method to know about the channel information associated with the video.
     (NSDictionary *)channelInfoForClip:(TPClip *)clip
    

Refer to Digital Measurement Onboarding for more information.

Opt-Out

The application needs to provide a way for user to optout of metering. This is done by displaying opt-out page and passing the response from user back to Nielsen. The plugin exposes the ‘NielsenAppApi’ userOptOut and optOutURL methods to interact with opt-out page.

Releases

Name Version # Date Comments
Nielsen AppSDK Plugin for thePlatform(FreeWheel) 1.0.0 01/18/2016 Initial version of the Nielsen App SDK Plugin for thePlatform (iOS) with support for FreeWheel ads.
Nielsen AppSDK Plugin for thePlatform(FreeWheel) 1.1.0 04/29/2016 Reflects changes as per latest Nielsen App SDK v5.1.0.5.