<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nielsentest.mywikis.net/w/index.php?action=history&amp;feed=atom&amp;title=Android_Step_By_Step</id>
	<title>Android Step By Step - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nielsentest.mywikis.net/w/index.php?action=history&amp;feed=atom&amp;title=Android_Step_By_Step"/>
	<link rel="alternate" type="text/html" href="https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;action=history"/>
	<updated>2026-04-05T11:43:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.5</generator>
	<entry>
		<id>https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6587&amp;oldid=prev</id>
		<title>Mywikis at 02:49, 27 March 2024</title>
		<link rel="alternate" type="text/html" href="https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6587&amp;oldid=prev"/>
		<updated>2024-03-27T02:49:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 02:49, 27 March 2024&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l387&quot;&gt;Line 387:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 387:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title ||Episode title with season and episode number (40 character limit) &amp;lt;br&amp;gt; (Formats accepted: S01E03, S1E3, S1 E3). || Examples: &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S03E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S3E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S3 E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; Can also accept: &amp;lt;code&amp;gt; S3E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; Not Valid: &amp;lt;code&amp;gt; 318 &amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt; 0318 &amp;lt;/code&amp;gt;|| Yes || Client  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| title ||Episode title with season and episode number (40 character limit) &amp;lt;br&amp;gt; (Formats accepted: S01E03, S1E3, S1 E3). || Examples: &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S03E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S3E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; &amp;lt;code&amp;gt;The Pants Alternative S3 E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; Can also accept: &amp;lt;code&amp;gt; S3E18&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; Not Valid: &amp;lt;code&amp;gt; 318 &amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt; 0318 &amp;lt;/code&amp;gt;|| Yes || Client  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| crossId1 || Gracenote TMS ID (If available) should be passed for all telecasted content for clients using the Gracenote solution for proper matching purposes. &amp;lt;br&amp;gt;Note: The TMS ID will be a 14 character string. Normally leading with 2 alpha &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;characerts &lt;/del&gt;('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;| crossId1 || Gracenote TMS ID (If available) should be passed for all telecasted content for clients using the Gracenote solution for proper matching purposes. &amp;lt;br&amp;gt;Note: The TMS ID will be a 14 character string. Normally leading with 2 alpha &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;characters &lt;/ins&gt;('EP', 'MV', 'SH' or 'SP'), followed by 12 numbers.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| The TMS ID will be a 14 character string. &amp;lt;br&amp;gt; Normally being with  'EV,' 'EP', 'SH', 'SP', or 'MV' &amp;lt;br&amp;gt; Followed by 12 numbers after the initial two letter prefix. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; The Giant Morning Show: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; The Pants Alternative Episode : &amp;lt;code&amp;gt;EP009311820061&amp;lt;/code&amp;gt; || Optional || Nielsen&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|| The TMS ID will be a 14 character string. &amp;lt;br&amp;gt; Normally being with  'EV,' 'EP', 'SH', 'SP', or 'MV' &amp;lt;br&amp;gt; Followed by 12 numbers after the initial two letter prefix. &amp;lt;br&amp;gt; &amp;lt;br&amp;gt; The Giant Morning Show: &amp;lt;code&amp;gt;SH009311820022&amp;lt;/code&amp;gt; &amp;lt;br&amp;gt; The Pants Alternative Episode : &amp;lt;code&amp;gt;EP009311820061&amp;lt;/code&amp;gt; || Optional || Nielsen&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-style=&amp;quot;background-color:#e9f9fa;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-style=&amp;quot;background-color:#e9f9fa;&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l547&quot;&gt;Line 547:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 547:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &amp;amp;rarr; Android DTVR &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(coming soon) &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &amp;amp;rarr; Android DTVR ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;!--&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision100&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide Android DTVR &amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision100&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide Android DTVR &amp;lt;/span&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision100&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision100&amp;quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l828&quot;&gt;Line 828:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 828:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;--&amp;gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/div&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Mywikis</name></author>
	</entry>
	<entry>
		<id>https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6463&amp;oldid=prev</id>
		<title>NickParrucci: /* Going Live */</title>
		<link rel="alternate" type="text/html" href="https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6463&amp;oldid=prev"/>
		<updated>2023-07-27T13:14:43Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Going Live&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 13:14, 27 July 2023&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l533&quot;&gt;Line 533:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 533:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Going Live====&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;====Going Live====&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to the basic steps above, before going live developers need to handle app background/foreground events, make certain privacy disclosures, handle interruption events (stop, fast-forward, rewind), and allow users to opt out of Nielsen measurement. More details can be found [[&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DCR_Video_iOS_SDK&lt;/del&gt;|here]], along with a more comprehensive reference for implementing DCR Video measurement with AppSDK.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;In addition to the basic steps above, before going live developers need to handle app background/foreground events, make certain privacy disclosures, handle interruption events (stop, fast-forward, rewind), and allow users to opt out of Nielsen measurement. More details can be found [[&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;DCR_Video_Android_SDK&lt;/ins&gt;|here]], along with a more comprehensive reference for implementing DCR Video measurement with AppSDK.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br/&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once the DCR Tracking Code is added, Nielsen will validate the implementation. Following Nielsen testing, developers need to make a few updates to the initialization call to ensure that the app is being measured properly.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Once the DCR Tracking Code is added, Nielsen will validate the implementation. Following Nielsen testing, developers need to make a few updates to the initialization call to ensure that the app is being measured properly.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>NickParrucci</name></author>
	</entry>
	<entry>
		<id>https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6462&amp;oldid=prev</id>
		<title>NickParrucci at 13:13, 27 July 2023</title>
		<link rel="alternate" type="text/html" href="https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6462&amp;oldid=prev"/>
		<updated>2023-07-27T13:13:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;amp;diff=6462&amp;amp;oldid=6231&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>NickParrucci</name></author>
	</entry>
	<entry>
		<id>https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6231&amp;oldid=prev</id>
		<title>NickParrucci: Created page with &quot;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} Category:Digital __NOTOC__  Provided below are step-by-step quick start guides for implementing Nielsen Androi...&quot;</title>
		<link rel="alternate" type="text/html" href="https://nielsentest.mywikis.net/w/index.php?title=Android_Step_By_Step&amp;diff=6231&amp;oldid=prev"/>
		<updated>2023-05-05T14:14:10Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}} &lt;a href=&quot;/wiki/Category:Digital&quot; title=&quot;Category:Digital&quot;&gt;Category:Digital&lt;/a&gt; __NOTOC__  Provided below are step-by-step quick start guides for implementing Nielsen Androi...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Breadcrumb|}} {{Breadcrumb|Digital}} {{CurrentBreadcrumb}}&lt;br /&gt;
[[Category:Digital]]&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
Provided below are step-by-step quick start guides for implementing Nielsen Android SDK for DCR Static, DCR Video, and DTVR products. Click each section to get started. &lt;br /&gt;
&lt;br /&gt;
== &amp;amp;rarr; Android DCR Static ==&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide DCR Static &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Android DCR Static Introduction ====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisiona-&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide Intro &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisiona-&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Digital Content Ratings (DCR) Static product provides content consumption measurement on client webpages. This measurement includes insight into the total time a user spent on a webpage, how they navigated through the page via links, and many other data points.&lt;br /&gt;
This tutorial provides the steps to implement the DCR Static product in a sample Android app. It includes:&lt;br /&gt;
&lt;br /&gt;
*SDK Initialization Call&lt;br /&gt;
*DCR Static Metadata: information about the sections being tracked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
By the end of this guide you will have the needed steps to integrate Nielsen's AppSDK in the background of your app.&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android DCR Static Step 1 - Obtain AppID ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisiona&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 1 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisiona&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To begin using the Android SDK (AppSDK) you will need to obtain an Application ID (AppId)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! Item !! Description !! Source&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;#9989; || App ID (appid) || Unique ID assigned to the player/site and configured by product || Contact your Nielsen TAM&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The appid is a 37 character unique ID assigned to the player/site and configured by product and is required when creating a new instance of the AppSDK on the webpage.&lt;br /&gt;
&amp;lt;/br&amp;gt;Example: '''PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android DCR Static Step 2 - SDK Initialization ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionc&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 2 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionc&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== How to obtain the NielsenAppApi ====&lt;br /&gt;
The Nielsen AppSDK can either be downloaded directly or can be integrated into an application through the use of Gradle. We recommend using the Gradle-based integration whenever possible to ensure you maintain the most recent changes and enhancements to the Nielsen libraries.&lt;br /&gt;
* [[Digital_Measurement_Android_Artifactory_Guide|Select to obtain Gradle implementation guide]]&lt;br /&gt;
* [[Special:Downloads|Select to Download Directly]]&lt;br /&gt;
&lt;br /&gt;
==== SDK Initialization ====&lt;br /&gt;
&lt;br /&gt;
The following table contains the list of arguments that can be passed via the AppInfo JSON schema.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter / Argument !! Description !! Source !! Required? !! Example&lt;br /&gt;
|-&lt;br /&gt;
| appid || Unique Nielsen ID for the application. The ID is a GUID data type. If you did not receive your App ID, let us know and we will provide you. || Nielsen-specified || Yes || PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&lt;br /&gt;
|-&lt;br /&gt;
| nol_devDebug || Enables Nielsen console logging. Only required for testing&lt;br /&gt;
|| Nielsen-specified || Optional || &amp;quot;DEBUG&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Debug flag for development environment ====&lt;br /&gt;
Player application developers / integrators can use Debug flag to check whether an App SDK API call made is successful. To activate the Debug flag,&lt;br /&gt;
Pass the argument &amp;lt;code&amp;gt;@&amp;quot;nol_devDebug&amp;quot;:@&amp;quot;INFO&amp;quot;&amp;lt;/code&amp;gt;, in the JSON string . The permitted values are:&lt;br /&gt;
&lt;br /&gt;
* '''INFO''': Displays the API calls and the input data from the application (validate player name, app ID, etc.). It can be used as certification Aid.&lt;br /&gt;
* '''WARN''': Indicates potential integration / configuration errors or SDK issues.&lt;br /&gt;
* '''ERROR''': Indicates important integration errors or non-recoverable SDK issues.&lt;br /&gt;
* '''DEBUG''': Debug logs, used by the developers to debug more complex issues.&lt;br /&gt;
&lt;br /&gt;
Once the flag is active, it logs each API call made and the data passed. The log created by this flag is minimal.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;'''Note''': DO NOT activate the Debug flag in a production environment.&amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Sample SDK Initialization Code ====&lt;br /&gt;
&lt;br /&gt;
'''Initialization of App SDK object through a JSON object'''&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;try&lt;br /&gt;
{&lt;br /&gt;
  // Prepare AppSdk configuration object (JSONObject)&lt;br /&gt;
  JSONObject appSdkConfig = new JSONObject()&lt;br /&gt;
          .put(&amp;quot;appid&amp;quot;, &amp;quot;PDA7D5EE6-B1B8-XXXX-XXXX-2A788BCXXXCA&amp;quot;)&lt;br /&gt;
          .put(&amp;quot;nol_devDebug&amp;quot;, &amp;quot;DEBUG&amp;quot;); // only for debug builds&lt;br /&gt;
&lt;br /&gt;
// Pass appSdkConfig to the AppSdk constructor&lt;br /&gt;
mAppSdk = new AppSdk(appContext, appSdkConfig, appSdkListener);&lt;br /&gt;
}&lt;br /&gt;
catch (JSONException e)&lt;br /&gt;
{&lt;br /&gt;
  Log.e(TAG, &amp;quot;Couldn’t prepare JSONObject for appSdkConfig&amp;quot;, e);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Here, &amp;lt;code&amp;gt;appContext&amp;lt;/code&amp;gt; is the App context object and &amp;lt;code&amp;gt;appSdkConfig&amp;lt;/code&amp;gt; is JSON object for holding the parameters (&amp;lt;code&amp;gt;appid&amp;lt;/code&amp;gt;) the App passes to the Nielsen App SDK via a JSON string. The appid is obtained from Nielsen operational support and is unique to the app.&lt;br /&gt;
&lt;br /&gt;
* Ensure that SDK files (AppSdk.jar and libAppSdk.so [App SDK 1.2 Only]) are included under the App’s project and the App SDK is linked to the App (the setting to link App SDK to the App can be found on property page of the App’s project).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Android DCR Static Step 3 - Create/Load DCR Static Metadata Object ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisiond&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 3 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisiond&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configure Metadata ====&lt;br /&gt;
Map the Nielsen keys to variables so that the content metadata is dynamically updated.&lt;br /&gt;
&lt;br /&gt;
The Nielsen reserved keys are:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Description !! Data Type !! Value !! Required?&lt;br /&gt;
|-&lt;br /&gt;
| type || asset type || fixed || &amp;lt;code&amp;gt;'static'&amp;lt;/code&amp;gt; || Yes&lt;br /&gt;
|-&lt;br /&gt;
| assetid || Unique ID for each article || dynamic || custom &amp;lt;br&amp;gt;(no [[Special Characters]]) || No&lt;br /&gt;
|-&lt;br /&gt;
| 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&lt;br /&gt;
|-&lt;br /&gt;
| segA || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No&lt;br /&gt;
|-&lt;br /&gt;
| segB || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No&lt;br /&gt;
|-&lt;br /&gt;
| segC || custom segment for reporting: Limit to 25 unique values across custom segments (segA + segB + segC) || dynamic || custom || No&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The values passed through the Nielsen keys will determine the breakouts that are seen in reporting. The custom segments (A, B &amp;amp; C) will roll into the sub-brand. To not use custom segments A, B and C, do not pass any value in these keys.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== Configure API calls - loadMetadata ====&lt;br /&gt;
Use [[loadMetadata]] to pass 'content' [[Digital Measurement Metadata]]. The CMS data must be passed as a JSON object.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;    loadMetadata(JSONObject jsonMetadata);&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Refer to [[Digital Measurement Metadata]] for the list of parameters to be passed in the JSON object.&lt;br /&gt;
&amp;lt;blockquote&amp;gt;Note: The [[loadMetadata]] call must have (&amp;quot;type&amp;quot;: &amp;quot;static&amp;quot;). &amp;lt;/blockquote&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Call [[loadMetadata]] with JSON metadata as below.&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;java&amp;quot;&amp;gt;    new JSONObject()&lt;br /&gt;
        .put(&amp;quot;type&amp;quot;, &amp;quot;static&amp;quot;)&lt;br /&gt;
        .put(&amp;quot;section&amp;quot;, &amp;quot;siteSection&amp;quot;)&lt;br /&gt;
        .put(&amp;quot;assetid&amp;quot;, &amp;quot;vid345-67483&amp;quot;)&lt;br /&gt;
        .put(&amp;quot;segA&amp;quot;, &amp;quot;segmentA&amp;quot;)&lt;br /&gt;
        .put(&amp;quot;segB&amp;quot;, &amp;quot;segmentB&amp;quot;)&lt;br /&gt;
        .put(&amp;quot;segC&amp;quot;,&amp;quot;segmentC&amp;quot;)&lt;br /&gt;
    }&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
As soon as this loadMetadata call is made, AppSDK will record a view event and start tracking the section/page time spent (AppSDK 9.1 and above).&lt;br /&gt;
&lt;br /&gt;
==== DCR Static Duration Measurement per Section/Page/Asset ====&lt;br /&gt;
If your Nielsen AppID is enabled for DCR Static duration measurement, a view event will be recorded and a timer will be started for each screen/page. Duration will be measured until a new page is loaded or the app is moved to the background. The event which triggers recognition of page view and timer start is the loadMetadata API call with a metadata object of type 'static'. Once a page is viewed and the timer has started, duration will be measured until a new page has loaded ''with associated loadMetadata call having a different '''section name''' from the previous page''. If a new loadMetadata call is made with the same '''section name''', it will be ignored - no new view will be recorded. If it is desired to have a new view event even though the metadata contains the same '''section name''' (example: single-page apps having several assedIDs but common section name), staticEnd API can be called between page views. For the purposes of this overview, staticend will not be used. See [[DCR_Static_Android_SDK|this page]] for more information. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Keep Going ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisiong&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisiong&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Congratulations, you've successfully integrated the Android SDK in your app!&lt;br /&gt;
&lt;br /&gt;
You can add static loadMetadata calls for more sections/pages in your app to see what happens when transitioning between sections.&lt;br /&gt;
&lt;br /&gt;
View your application's debug logs and search for the term (AppSDK) to see messages emitted by Nielsen AppSDK.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisioni&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisioni&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Now that you've integrated DCR Static for the AppSDK, what's next?&lt;br /&gt;
&lt;br /&gt;
====Going Live====&lt;br /&gt;
&lt;br /&gt;
In addition to the basic steps above, before going live developers need to handle app background/foreground events, make certain privacy disclosures, and allow users to opt out of Nielsen measurement. More details can be found [[DCR_Static_Android_SDK|here]], along with a more comprehensive reference for implementing DCR Static measurement with AppSDK.&lt;br /&gt;
&lt;br /&gt;
Once the DCR Tracking Code is added, Nielsen will validate the implementation. Following Nielsen testing, developers need to make a few updates to the initialization call to ensure that the app is being measured properly.&lt;br /&gt;
&lt;br /&gt;
#'''App ID''': Ensure that correct  is used during initialization '''PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX'''&lt;br /&gt;
#'''Debug Logging''': Disable logging by changing initialization call to use @&amp;quot;nol_devDebug&amp;quot;:@&amp;quot;INFO&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;amp;rarr; Android DCR Video (coming soon) ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision1&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide DCR Video &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision1&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== BSDK DCR Video Introduction ====&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv1-&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide Intro &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv1-&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The Digital Content Ratings (DCR) Video product provides content consumption measurement on client webpages. This measurement includes insight into the total time a user spent watching the tracked content, video player events, and much more.&lt;br /&gt;
This example provides the steps to implement the DCR Video product using the HTML Video Embed Element. It includes:&lt;br /&gt;
&lt;br /&gt;
*Static Queue Snippet: allows for SDK API calls while SDK and configuration file is loading onto page&lt;br /&gt;
*SDK Initialization Call: initializes the SDK and static configuration file&lt;br /&gt;
*DCR Video Metadata: information about the player being tracked&lt;br /&gt;
*Playhead Event Sequence: event(s) that starts and tracks player measurement&lt;br /&gt;
&lt;br /&gt;
By the end of this guide you'll have a webpage that is running Nielsen's Browser SDK during video playback:&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
[[File:BSDK DCR Video EX.png|1000px]]&lt;br /&gt;
&amp;lt;/br&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 1 - Obtain AppID ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv2&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 1 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To begin using the Browser SDK (BSDK) you will need to obtain an Application ID (AppId)&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! !! Item !! Description !! Source&lt;br /&gt;
|-&lt;br /&gt;
|&amp;amp;#9989; || App ID (appid) || Unique ID assigned to the player/site and configured by product || Contact your Nielsen TAM&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The appid is a 37 character unique ID assigned to the player/site and configured by product and is required when creating a new instance of the BSDK on the webpage.&lt;br /&gt;
&amp;lt;/br&amp;gt;Example: '''PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 2 - Add Static Queue Snippet ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv3&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 2 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv3&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create HTML page in your preferred editor. In order for SDK to begin tracking, the following code snippet up must be added in a &amp;lt;script&amp;gt; tag to be inserted in &amp;lt;head&amp;gt; tag of the HTML page.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE html&amp;gt;&lt;br /&gt;
&amp;lt;html lang=&amp;quot;en&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
  &amp;lt;meta charset=&amp;quot;UTF-8&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;meta http-equiv=&amp;quot;X-UA-Compatible&amp;quot; content=&amp;quot;IE=edge&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;meta name=&amp;quot;viewport&amp;quot; content=&amp;quot;width=device-width, initial-scale=1.0&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;title&amp;gt;DCR Static Sample Page&amp;lt;/title&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://www.w3schools.com/w3css/4/w3.css&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; href=&amp;quot;https://fonts.googleapis.com/css?family=Raleway&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;style&amp;gt;&lt;br /&gt;
  body,h1,h2,h3,h4,h5 {font-family: &amp;quot;Raleway&amp;quot;, sans-serif}&lt;br /&gt;
  &amp;lt;/style&amp;gt;&lt;br /&gt;
  &amp;lt;script&amp;gt;&lt;br /&gt;
    // Static Queue Snippet&lt;br /&gt;
    !function (e, n) {&lt;br /&gt;
      function t(e) {&lt;br /&gt;
        return &amp;quot;object&amp;quot; == typeof e ? JSON.parse(JSON.stringify(e)) : e&lt;br /&gt;
      }&lt;br /&gt;
      e[n] = e[n] ||&lt;br /&gt;
      {&lt;br /&gt;
        nlsQ: function (o, r, c) {&lt;br /&gt;
          var s = e.document,&lt;br /&gt;
            a = s.createElement(&amp;quot;script&amp;quot;);&lt;br /&gt;
          a.async = 1,&lt;br /&gt;
            a.src = (&amp;quot;http:&amp;quot; === e.location.protocol ? &amp;quot;http:&amp;quot; : &amp;quot;https:&amp;quot;) + &amp;quot;//cdn-gl.imrworldwide.com/conf/&amp;quot; + o + &amp;quot;.js#name=&amp;quot; + r + &amp;quot;&amp;amp;ns=&amp;quot; + n;&lt;br /&gt;
          var i = s.getElementsByTagName(&amp;quot;script&amp;quot;)[0];&lt;br /&gt;
          return i.parentNode.insertBefore(a, i),&lt;br /&gt;
            e[n][r] = e[n][r] || {&lt;br /&gt;
              g: c || {},&lt;br /&gt;
              ggPM: function (o, c, s, a, i) { e[n][r].q = e[n][r].q || []; try { var l = t([o, c, s, a, i]); e[n][r].q.push(l) } catch (e) { console &amp;amp;&amp;amp; console.log &amp;amp;&amp;amp; console.log(&amp;quot;Error: Cannot register event in Nielsen SDK queue.&amp;quot;) } },&lt;br /&gt;
              trackEvent: function (o) { e[n][r].te = e[n][r].te || []; try { var c = t(o); e[n][r].te.push(c) } catch (e) { console &amp;amp;&amp;amp; console.log &amp;amp;&amp;amp; console.log(&amp;quot;Error: Cannot register event in Nielsen SDK queue.&amp;quot;) } }&lt;br /&gt;
            },&lt;br /&gt;
            e[n][r]&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }(window, &amp;quot;NOLBUNDLE&amp;quot;);&lt;br /&gt;
  &amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The static queue snippet allows the SDK APIs to be called while the actual SDK and configuration file are still being downloaded. As the queue can capture all API calls before the download completes, there is no wait time. Once the SDK is available, the API calls will transition from directing to the queue to the SDK seamlessly.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 3 - Make SDK Initialization Call ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv4&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 3 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv4&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create a variable named nSdkInstance and initialize SDK by passing in your App ID into the NOLBUNDLE.nslq() method. Add the following code after the static queue snippet code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// SDK Initialization call&lt;br /&gt;
    var nSdkInstance = NOLBUNDLE.nlsQ(&amp;quot;PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&amp;quot;, &amp;quot;sdk-video-instance&amp;quot;, {&lt;br /&gt;
      nol_sdkDebug: &amp;quot;debug&amp;quot; // ONLY FOR TESTING! REMOVE BEFORE MOVING TO PRODUCTION&lt;br /&gt;
    });&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When the initialization call is made, a unique static config file, PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX.js, will be loaded on to the page based on the appid and cached by the client-side browser(s).&lt;br /&gt;
Once the static config file is loaded onto the page, the SDK ('''nlsSDK600.bundle.min.js''') will be fully downloaded and initialized.&lt;br /&gt;
The initialization call has three parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Parameter !! Description !! Values&lt;br /&gt;
|-&lt;br /&gt;
| App ID (appid) || Unique ID assigned to player/site || PXXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX&lt;br /&gt;
|-&lt;br /&gt;
| instanceName || Name of SDK instance || Any string value&lt;br /&gt;
|-&lt;br /&gt;
| options || Options to be added during initialization || nol_sdkDebug, optout, enableFpid&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
'''NOTE: REMOVE &amp;lt;nol_sdkDebug&amp;gt; OPTION BEFORE GOING INTO PRODUCTION RELEASE'''&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 4 - Create DCR Video Content Metadata Object ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv5&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 4 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv5&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Create metadata object(s) which contains information about the video. There are two types of asset metadata:&lt;br /&gt;
&lt;br /&gt;
*content: identify video&lt;br /&gt;
*ad: identify each ad&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;html&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// DCR Video Metadata Object&lt;br /&gt;
var contentMetadataObject = {&lt;br /&gt;
  type: 'content', // type of content [required]&lt;br /&gt;
  assetid: 'VID-123456', // unique ID for each asset [required]&lt;br /&gt;
  program: 'program name', // name of program [required]&lt;br /&gt;
  title: 'episode title with season and episode number', // ex: S1E3 [required]&lt;br /&gt;
  length: 'length in seconds', // length of content [required]&lt;br /&gt;
  airdate: '20210321 09:00:00', // airdate of broadcast [required]&lt;br /&gt;
  isfullepisode: 'y', // long form content [required]&lt;br /&gt;
  adloadtype: '2', // type of ad load (linear/dynamic) [required]&lt;br /&gt;
  segB: 'custom segment B', // [optional]&lt;br /&gt;
  segC: 'custom segment C', // [optional]&lt;br /&gt;
  crossId1: 'Standard Episode ID', // [optional]&lt;br /&gt;
  crossId2: 'Content Originator' // [optional]&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
For this example, we are only going to create content metadata. For information on Ad integration click hereLINK&lt;br /&gt;
&lt;br /&gt;
'''Content Metadata Object Properties'''&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Key !! Description !! Values !! Required? !! Provider&lt;br /&gt;
|-&lt;br /&gt;
| type || asset type || content || Yes || Nielsen&lt;br /&gt;
|-&lt;br /&gt;
| assetid || Unique ID assigned to asset &amp;lt;br&amp;gt;''Note: Refrain from using the following special characters'' [[Special_Characters|Special Characters]] || Examples:&amp;lt;br&amp;gt;BBT345a234&amp;lt;br&amp;gt;CBSs5e234F2021 || Yes || Client&lt;br /&gt;
|-&lt;br /&gt;
| program || Complete program or movie title (no abbreviations or shorthand)&amp;lt;br&amp;gt;''Note: 25 character limit'' || Examples:&amp;lt;br&amp;gt;The Big Bang Theory&amp;lt;br&amp;gt;TheBigBangTheory&amp;lt;br&amp;gt;The Dark Knight&amp;lt;br&amp;gt;TheDarkKnight || Yes || Client&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Metadata can be passed through key-values using the Nielsen reserved keys. The tracking code includes the Nielsen reserved keys and placeholder values.&lt;br /&gt;
Pass dynamic metadata for the keys with the value (e.g. section:)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 5 - Call ggPM staticStart event ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv6&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 5 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv6&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== BSDK DCR Video Step 6 - Update Page Content ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv7&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide step 6 &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv7&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Keep Going ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv8&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv8&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Next Steps ===&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivisionv9&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivisionv9&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;amp;rarr; Android DTVR (coming soon) ==&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;span class=&amp;quot;mw-customtoggle-myDivision2&amp;quot; style=&amp;quot;color: cornflowerblue&amp;quot;&amp;gt; Show/hide DTVR &amp;lt;/span&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; id=&amp;quot;mw-customcollapsible-myDivision2&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
BSDK DTVR&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;/div&gt;</summary>
		<author><name>NickParrucci</name></author>
	</entry>
</feed>