DCR Italy Static App SDK: Difference between revisions

From Engineering Client Portal

No edit summary
No edit summary
Line 80: Line 80:




== Handling Foreground and Background states of App ==
== Handling Foreground and Background states for Android Devices ==
There are two ways of handling the foreground and background states of the client application.
There are two ways of handling the foreground and background states of the client application.
* Let App SDK handle the app states information (foreground / background) and use it, as necessary. See [[#New_devices_.28Android_4.0_and_later_versions.29]] for more information.
* Let App SDK handle the app states information (foreground / background) and use it, as necessary. See [[#New_devices_.28Android_4.0_and_later_versions.29]] for more information.

Revision as of 22:24, 7 November 2017

Engineering Portal / Digital / International / DCR Italy Static App SDK

Overview

The Nielsen SDK is one of multiple framework SDKs that Nielsen provides to enable measuring linear (live) and on-demand TV viewing using TVs, mobile devices, etc. The App SDK is the framework for mobile application developers to integrate Nielsen Measurement into their media player applications. It supports a variety of Nielsen Measurement Products like Digital in TV Ratings, Digital Content Ratings (DCR & DTVR), Digital Ad Ratings (DAR), Digital Audio. Nielsen SDKs are also equipped to measure static content and can track key life cycle events of an application like:

  • Application launch events and how long app was running
  • Time of viewing a sub section / page in the application.

Implementation

This guide covers implementation steps for iOS using Xcode and Java using Android Studio to enable STATIC MEASUREMENT within you APP.

Prerequisites

To start using the Nielsen App SDK, your Xcode or Android Studio environments need to have specific Frameworks or Classes included in your project/app. This information is detailed in the DCR Italy Video App SDK documentation.

The remainder of this document will assume that you have followed the steps outlined in the DCR Italy Video App SDK documentation to Initialize the Nielsen SDK.

Initialize the SDK

Specific steps are outlined in the DCR Italy Video App SDK documentation.

Populate and Pass Metadata Object

The Nielsen SDK is able to monitor Application launch events and how long your app has been running. Once the Nielsen SDK has been Initialized, pass "type":'static' as a JSON object via loadMetadata.

Swift

        let staticMetadata = [
            "type": "static",
            "section": "siteSection",
            "segA":"CustomSegmentValueA", //Optional
            "segB":"CustomSegmentValueB", //Optional
            "segC":"CustomSegmentValueC" //Optional
        ];
         self.nielsenAppApi?.loadMetadata(staticMetadata)

Objective C

 
   NSDictionary *staticMetadata = @
    {
        "type": "static",
        "section": "siteSection",
        "segA":"CustomSegmentValueA", //Optional
        "segB":"CustomSegmentValueB", //Optional
        "segC":"CustomSegmentValueC" //Optional
    }
 (void)loadMetadata:(id)staticMetadata;

Java

    JSONObject staticMetadata = new JSONObject()
        .put("type", "static")
        .put("section", "siteSection")
        .put("assetid", "vid345-67483")
        .put("segA", "segmentA") //Optional
        .put("segB", "segmentB") //Optional
        .put("segC","segmentC") //Optional
    }
public void loadMetadata(JSONObject staticMetadata);

The above code would be repeated for each change in "section" within your app.

Nielsen SDK Metadata

The following table defines the staticMetadata reserved keys:

Key Description Data Type Value Required?
type asset type fixed 'static' Yes
assetid Unique ID for each article dynamic custom Yes
section section of each site (e.g. section value should be first level in page URL: website.com/section). Limit to 25 unique values dynamic custom Yes
segA custom segment for reporting: dynamic custom No
segB custom segment for reporting: dynamic custom No
segC custom segment for reporting: fixed custom No


Handling Foreground and Background states for Android Devices

There are two ways of handling the foreground and background states of the client application.

New devices (Android 4.0 and later versions)

Add application tag to Manifest XML file When client’s app supports only new devices (Android 4.0 and above) and the client has not implemented a custom Application class for some other purpose,

  • Add the following entry (application tag) into the Manifest XML file to use SDK’s state detection feature.
    <application android:name="com.nielsen.app.sdk.AppSdkApplication">

This is the custom Application class where the whole background detection implementation is done.

Note: No new permissions are required to change the properties in Manifest XML file.

Older devices (Android 4.0 or earlier versions)

Identify the change of state through the application and call the respective API (appInForeground() or appInBackground()) upon every change of state (foreground / background). The SDK will use this information to pass the app launch times, etc. to Collection facility.

    AppLaunchMeasurementManager.appInForeground(getApplicationContext());
    AppLaunchMeasurementManager.appInBackground(getApplicationContext());