https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&feed=atom&action=history
Simplified SDK API-Android - Revision history
2024-03-28T22:30:27Z
Revision history for this page on the wiki
MediaWiki 1.32.2
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=5369&oldid=prev
ColinBrown at 19:25, 28 September 2021
2021-09-28T19:25:10Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 19:25, 28 September 2021</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l34" >Line 34:</td>
<td colspan="2" class="diff-lineno">Line 34:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appid", "PDA7D5EE6-B1B8-4123-9277-2A788BC6XXX")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appid", "PDA7D5EE6-B1B8-4123-9277-2A788BC6XXX")</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appversion", "1.0")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appversion", "1.0")</div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; 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;"><div> .put("appname", "<del class="diffchange diffchange-inline">Abdul's </del>Android Test app")</div></td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div> .put("appname", "Android Test app")</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("sfcode", "dcr")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("sfcode", "dcr")</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("ccode", "123")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("ccode", "123")</div></td></tr>
</table>
ColinBrown
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=4589&oldid=prev
ColinBrown: /* NielsenInit.java */
2020-12-01T21:08:03Z
<p><span dir="auto"><span class="autocomment">NielsenInit.java</span></span></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:08, 1 December 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l32" >Line 32:</td>
<td colspan="2" class="diff-lineno">Line 32:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> JSONObject appInformation = new JSONObject()</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> JSONObject appInformation = new JSONObject()</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; 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;"><div> .put("appid", "PDA7D5EE6-B1B8-4123-9277-<del class="diffchange diffchange-inline">2A788BC653CA</del>")</div></td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div> .put("appid", "PDA7D5EE6-B1B8-4123-9277-<ins class="diffchange diffchange-inline">2A788BC6XXX</ins>")</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appversion", "1.0")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appversion", "1.0")</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appname", "Abdul's Android Test app")</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div> .put("appname", "Abdul's Android Test app")</div></td></tr>
</table>
ColinBrown
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=2695&oldid=prev
Admin3 at 18:29, 30 April 2018
2018-04-30T18:29:24Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 18:29, 30 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l1" >Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{Breadcrumb|Simplified SDK API}}{{CurrentBreadcrumb}}</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{Breadcrumb|Simplified SDK API}}{{CurrentBreadcrumb}}</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>[[Category:Digital]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>[[Category:Digital]]</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div><ins style="font-weight: bold; text-decoration: none;">[[File:Android1.jpg|thumb]]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td></tr>
</table>
Admin3
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=2647&oldid=prev
Admin3 at 21:06, 9 April 2018
2018-04-09T21:06:41Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 21:06, 9 April 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3" >Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; 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;"><div>[https://engineeringportal.nielsen.com/w/downloads/digital/sampleapplications/<del class="diffchange diffchange-inline">Simple</del>-Android<del class="diffchange diffchange-inline">-App</del>.zip Download Project Files]</div></td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div>[https://engineeringportal.nielsen.com/w/downloads/digital/sampleapplications/<ins class="diffchange diffchange-inline">TrackEvent-SDK</ins>-Android.zip Download Project Files]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td></tr>
</table>
Admin3
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=2494&oldid=prev
Admin3 at 23:55, 20 February 2018
2018-02-20T23:55:12Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 23:55, 20 February 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l3" >Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>Select the below link to download the sample files <br></div></td></tr>
<tr><td class='diff-marker'>−</td><td style="color: #222; 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;"><div>https://engineeringportal.nielsen.com/w/downloads/digital/sampleapplications/Simple-Android-App.zip Download Project Files]</div></td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div><ins class="diffchange diffchange-inline">[</ins>https://engineeringportal.nielsen.com/w/downloads/digital/sampleapplications/Simple-Android-App.zip Download Project Files]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td></tr>
</table>
Admin3
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=2493&oldid=prev
Admin3 at 23:54, 20 February 2018
2018-02-20T23:54:57Z
<p></p>
<table class="diff diff-contentalign-left" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en">
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #222; text-align: center;">Revision as of 23:54, 20 February 2018</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l2" >Line 2:</td>
<td colspan="2" class="diff-lineno">Line 2:</td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>[[Category:Digital]]</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>[[Category:Digital]]</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>== Android Studio Java Code Example ==</div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div><ins style="font-weight: bold; text-decoration: none;">Select the below link to download the sample files <br></ins></div></td></tr>
<tr><td colspan="2"> </td><td class='diff-marker'>+</td><td style="color: #222; 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;"><div><ins style="font-weight: bold; text-decoration: none;">https://engineeringportal.nielsen.com/w/downloads/digital/sampleapplications/Simple-Android-App.zip Download Project Files]</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"><div>==== NielsenInit.java ====</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td><td class='diff-marker'> </td><td style="background-color: #f8f9fa; color: #222; 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;"></td></tr>
</table>
Admin3
https://engineeringportal.nielsen.com//w/index.php?title=Simplified_SDK_API-Android&diff=2489&oldid=prev
Admin3: Created page with "{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{Breadcrumb|Simplified SDK API}}{{CurrentBreadcrumb}} Category:Digital == Android Studio Java Code Examp..."
2018-02-20T23:41:54Z
<p>Created page with "{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{Breadcrumb|Simplified SDK API}}{{CurrentBreadcrumb}} <a href="/docs/Category:Digital" title="Category:Digital">Category:Digital</a> == Android Studio Java Code Examp..."</p>
<p><b>New page</b></p><div>{{Breadcrumb|}} {{Breadcrumb|Digital}} {{Breadcrumb|DCR & DTVR}} {{Breadcrumb|Simplified SDK API}}{{CurrentBreadcrumb}}<br />
[[Category:Digital]]<br />
== Android Studio Java Code Example ==<br />
==== NielsenInit.java ====<br />
<br />
<syntaxhighlight lang="java"><br />
// This is sample code of a very basic implementation of the Nielsen 'Simplified API'<br />
// This code is for educational purposes only<br />
//<br />
<br />
import android.content.Context;<br />
<br />
import com.nielsen.app.sdk.IAppNotifier;<br />
import com.nielsen.app.sdk.NielsenEventTracker;<br />
<br />
import org.json.JSONException;<br />
import org.json.JSONObject;<br />
<br />
public class NielsenInit {<br />
<br />
private NielsenEventTracker mEventTracker = null;<br />
<br />
public NielsenEventTracker initEventTracker(Context mContext, IAppNotifier appNotifier){<br />
<br />
try {<br />
<br />
//Initialising the NielsenEventTracker class by passing app information which returns the instance of NielsenEventTracker.<br />
<br />
JSONObject appInformation = new JSONObject()<br />
<br />
.put("appid", "PDA7D5EE6-B1B8-4123-9277-2A788BC653CA")<br />
.put("appversion", "1.0")<br />
.put("appname", "Abdul's Android Test app")<br />
.put("sfcode", "dcr")<br />
.put("ccode", "123")<br />
.put("dma","456")<br />
.put("uoo","0")<br />
.put("nol_devDebug", "INFO")<br />
.put("containerId", "0");<br />
<br />
mEventTracker = new NielsenEventTracker(mContext, appInformation, appNotifier);<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
<br />
return mEventTracker;<br />
}<br />
}<br />
</syntaxhighlight><br />
<br />
==== SDKMethods.java ====<br />
<syntaxhighlight lang="java"><br />
import org.json.JSONException;<br />
import org.json.JSONObject;<br />
<br />
/**<br />
* Created on 07/02/18.<br />
*/<br />
<br />
public class SDKMethods {<br />
<br />
public String url = "";<br />
JSONObject content = null;<br />
//Loading content Data<br />
public JSONObject loadContentData(){<br />
<br />
url = "http://www.nielseninternet.com/NielsenConsumer/prog_index.m3u8";<br />
<br />
JSONObject data = null;<br />
try {<br />
JSONObject content = new JSONObject()<br />
.put( "assetName","ChromeCast1")<br />
.put( "assetid","C77664")<br />
.put( "length","3600")<br />
.put( "program","MyProgram")<br />
.put( "segB","CustomSegmentValueB")<br />
.put( "segC","segmentC")<br />
.put( "title","S2,E3")<br />
.put( "type","content")<br />
.put( "section","cloudApi_app")<br />
.put( "airdate","20180120 10:00:00")<br />
.put( "isfullepisode","y")<br />
.put( "adloadtype","2")<br />
.put( "channelName","My Channel 1")<br />
.put( "pipMode","false");<br />
<br />
//Ad data,static data should be empty in content video dictionary<br />
JSONObject metaData = new JSONObject()<br />
.put("content", content)<br />
.put("ad", new JSONObject())<br />
.put("static", new JSONObject());<br />
<br />
data = new JSONObject()<br />
.put("metadata", metaData)<br />
.put("event", "playhead")<br />
.put("type", "content")<br />
.put("playheadPosition", "0");<br />
<br />
<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
<br />
return data;<br />
<br />
}<br />
</syntaxhighlight><br />
<br />
==== MainActivity.java ====<br />
<syntaxhighlight lang="java"><br />
package com.simplifiedapiapp.activities;<br />
<br />
import android.app.ProgressDialog;<br />
import android.media.MediaPlayer;<br />
import android.os.Handler;<br />
import android.support.v7.app.AppCompatActivity;<br />
import android.os.Bundle;<br />
import android.util.Log;<br />
import android.view.SurfaceHolder;<br />
import android.view.SurfaceView;<br />
import android.view.View;<br />
import android.widget.Button;<br />
import android.widget.SeekBar;<br />
<br />
import com.simplifiedapiapp.utils.Constants;<br />
import com.simplifiedapiapp.models.NielsenInit;<br />
import com.simplifiedapiapp.R;<br />
import com.simplifiedapiapp.models.SDKMethods;<br />
import com.nielsen.app.sdk.IAppNotifier;<br />
import com.nielsen.app.sdk.NielsenEventTracker;<br />
<br />
import org.json.JSONException;<br />
import org.json.JSONObject;<br />
<br />
import java.io.IOException;<br />
<br />
public class MainActivity extends AppCompatActivity implements IAppNotifier, SurfaceHolder.Callback, MediaPlayer.OnPreparedListener, View.OnClickListener, MediaPlayer.OnCompletionListener, MediaPlayer.OnErrorListener {<br />
<br />
public static final String TAG = MainActivity.class.getSimpleName();<br />
<br />
private SurfaceView mSurfaceView;<br />
private SeekBar seek;<br />
Button btnPlay;<br />
<br />
NielsenEventTracker eventTracker;<br />
private int videoType, totalVideos;<br />
private int totalVideosPlayed = 0;<br />
private boolean isVideoStarted = false, isPaused = false;<br />
JSONObject data = null;<br />
<br />
private MediaPlayer mMediaPlayer;<br />
private SurfaceHolder mSurfaceHolder;<br />
<br />
SDKMethods sdkMethods;<br />
<br />
private ProgressDialog dialog;<br />
private Handler playheadHandler;<br />
private Runnable playheadRunnable;<br />
<br />
<br />
@Override<br />
protected void onCreate(Bundle savedInstanceState) {<br />
super.onCreate(savedInstanceState);<br />
setContentView(R.layout.activity_main);<br />
<br />
//In SDKMethods class we wrote methods which creates content,Ad objects<br />
sdkMethods = new SDKMethods();<br />
<br />
getIntents();<br />
initUI();<br />
<br />
//In NielsenInit class we are initialising the NielsenEventTracker.<br />
//Getting the instance of NielsenEventTracker<br />
NielsenInit nielsenInit = new NielsenInit();<br />
<br />
//3rd parameter "this" referes to IAppNotifier interface which is needed to initialise NielsenEventTracker<br />
eventTracker = nielsenInit.initEventTracker(getApplicationContext(), this);<br />
}<br />
<br />
@Override<br />
protected void onResume() {<br />
super.onResume();<br />
<br />
//loading static data<br />
JSONObject staticObj = sdkMethods.loadStaticData();<br />
<br />
//sending static data to SDK.<br />
eventTracker.trackEvent(staticObj);<br />
}<br />
<br />
private void initUI() {<br />
<br />
seek = (SeekBar) findViewById(R.id.seek);<br />
btnPlay = (Button) findViewById(R.id.btnPlay);<br />
btnPlay.setOnClickListener(this);<br />
}<br />
<br />
private void getIntents() {<br />
<br />
videoType = getIntent().getIntExtra(Constants.INTENT_VIDEO_TYPE, 0);<br />
totalVideos = getIntent().getIntExtra(Constants.INTENT_TOTAL_VIDEOS, 0);<br />
<br />
<br />
if (videoType == Constants.onlyContent) {<br />
<br />
//loading video content data<br />
data = sdkMethods.loadContentData();<br />
} else {<br />
<br />
//loading Ad data<br />
data = sdkMethods.loadPreRollAdData();<br />
}<br />
}<br />
<br />
@Override<br />
public void surfaceCreated(SurfaceHolder holder) {<br />
<br />
Log.v(TAG, "surfaceCreated Called");<br />
<br />
if (isPaused) {<br />
//Once video is resumed after pause, setting surfaceholder to player.<br />
if (mMediaPlayer != null) {<br />
<br />
mSurfaceHolder = mSurfaceView.getHolder();<br />
mMediaPlayer.setDisplay(mSurfaceHolder);<br />
}<br />
<br />
} else {<br />
<br />
//This will execute for first time.<br />
setUpPlayer();<br />
mMediaPlayer.setOnCompletionListener(this);<br />
mMediaPlayer.setOnErrorListener(this);<br />
}<br />
}<br />
<br />
@Override<br />
public void onCompletion(MediaPlayer mediaPlayer) {<br />
try {<br />
<br />
playheadHandler.removeCallbacks(playheadRunnable);<br />
<br />
///As 1 video completed playing, incrementing the variable value.<br />
totalVideosPlayed++;<br />
<br />
if (videoType == Constants.onlyContent || totalVideosPlayed == totalVideos) {<br />
<br />
//on content video complete, updating event as "complete" in object<br />
data.put("event", "complete");<br />
} else {<br />
//on Ad complete, updating event as "adStop" in object<br />
data.put("event", "adStop");<br />
}<br />
<br />
//sending the object to SDK.<br />
eventTracker.trackEvent(data);<br />
<br />
releaseMediaPlayer();<br />
<br />
checkVideosToBePlayed();<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
private void checkVideosToBePlayed(){<br />
<br />
//Checking if total videos played or not.<br />
if (totalVideosPlayed != totalVideos) {<br />
<br />
data = new JSONObject();<br />
<br />
//Checking if videoType is contentWithOneAd, then after completion of Ad, will play the content video.<br />
if (videoType == Constants.contentWithOneAd) {<br />
<br />
//loading video content data<br />
data = sdkMethods.loadContentData();<br />
<br />
} else if (videoType == Constants.contentWithTwoAds) {<br />
if (totalVideosPlayed == 1) {<br />
<br />
//loading 2nd Ad data<br />
data = sdkMethods.loadMidRollAdData();<br />
} else {<br />
<br />
//loading video content data<br />
data = sdkMethods.loadContentData();<br />
}<br />
}<br />
<br />
showProgressDialog();<br />
<br />
setUpPlayer();<br />
<br />
mMediaPlayer.setOnCompletionListener(this);<br />
mMediaPlayer.setOnErrorListener(this);<br />
<br />
}<br />
}<br />
<br />
@Override<br />
public boolean onError(MediaPlayer mediaPlayer, int i, int li) {<br />
Log.e(TAG, "Player error codes:" + i + ", " + li);<br />
return false;<br />
}<br />
<br />
//creating player<br />
private void setUpPlayer() {<br />
try {<br />
<br />
mMediaPlayer = new MediaPlayer();<br />
mMediaPlayer.setDisplay(mSurfaceHolder);<br />
mMediaPlayer.setDataSource(sdkMethods.url);<br />
mMediaPlayer.setOnPreparedListener(MainActivity.this);<br />
mMediaPlayer.prepareAsync();<br />
<br />
} catch (IOException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
@Override<br />
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {<br />
Log.v(TAG, "surfaceChanged Called");<br />
}<br />
<br />
@Override<br />
public void surfaceDestroyed(SurfaceHolder holder) {<br />
Log.v(TAG, "surfaceDestroyed Called");<br />
}<br />
<br />
@Override<br />
public void onPrepared(MediaPlayer mp) {<br />
<br />
if (dialog.isShowing()) {<br />
dialog.dismiss();<br />
}<br />
<br />
seek.setMax(convertTotime(mMediaPlayer.getDuration()));<br />
isVideoStarted = true;<br />
<br />
updateSeekbarAndPlayhead();<br />
mMediaPlayer.start();<br />
<br />
}<br />
<br />
@Override<br />
protected void onPause() {<br />
super.onPause();<br />
<br />
setPauseAction();<br />
}<br />
<br />
private void setPauseAction() {<br />
try {<br />
if (mMediaPlayer != null) {<br />
<br />
isVideoStarted = false;<br />
isPaused = true;<br />
mMediaPlayer.pause();<br />
<br />
<br />
//on video pause, updating event as pause in object<br />
data.put("event", "pause");<br />
<br />
//sending the object to SDK with "pause" event.<br />
eventTracker.trackEvent(data);<br />
<br />
btnPlay.setText(getString(R.string.play));<br />
<br />
}<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
@Override<br />
protected void onDestroy() {<br />
super.onDestroy();<br />
releaseMediaPlayer();<br />
}<br />
<br />
private void releaseMediaPlayer() {<br />
if (mMediaPlayer != null) {<br />
mMediaPlayer.release();<br />
mMediaPlayer = null;<br />
}<br />
}<br />
<br />
@Override<br />
public void onClick(View view) {<br />
switch (view.getId()) {<br />
case R.id.btnPlay:<br />
try {<br />
//If video is not yet played, then it will play else it will pause the video<br />
if (!isVideoStarted) {<br />
<br />
btnPlay.setText(getString(R.string.pause));<br />
<br />
if (isPaused) {<br />
<br />
isVideoStarted = true;<br />
isPaused = false;<br />
<br />
//Once the video is resumed after pause, setting event as "playhead".<br />
data.put("event", "playhead");<br />
mMediaPlayer.start();<br />
<br />
} else {<br />
<br />
mSurfaceView = (SurfaceView) findViewById(R.id.surface_view);<br />
mSurfaceView.setVisibility(View.VISIBLE);<br />
<br />
showProgressDialog();<br />
<br />
mSurfaceHolder = mSurfaceView.getHolder();<br />
mSurfaceHolder.addCallback(MainActivity.this);<br />
<br />
}<br />
<br />
} else {<br />
setPauseAction();<br />
}<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
} catch (Exception e) {<br />
e.printStackTrace();<br />
}<br />
break;<br />
}<br />
<br />
}<br />
<br />
//Updates seekbar<br />
private void updateSeekbarAndPlayhead() {<br />
try {<br />
//to update playhead, setting the event as "playhead".<br />
data.put("event", "playhead");<br />
playheadHandler = new Handler();<br />
<br />
<br />
//Make sure you update Seekbar on UI thread<br />
MainActivity.this.runOnUiThread(playheadRunnable = new Runnable() {<br />
<br />
@Override<br />
public void run() {<br />
if (mMediaPlayer != null) {<br />
int mCurrentPosition = mMediaPlayer.getCurrentPosition() / 1000;<br />
seek.setProgress(mCurrentPosition);<br />
try {<br />
if (!isPaused && mMediaPlayer.isPlaying()) {<br />
<br />
//updating playHead position in Object each second.<br />
data.put("playheadPosition", String.valueOf(mCurrentPosition));<br />
<br />
//Sending data object to SDK with updated playHead position.<br />
eventTracker.trackEvent(data);<br />
}<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
<br />
}<br />
playheadHandler.postDelayed(this, 1000);<br />
}<br />
});<br />
<br />
} catch (JSONException e) {<br />
e.printStackTrace();<br />
}<br />
}<br />
<br />
private int convertTotime(long milliSec) {<br />
<br />
int minutes = (int) (milliSec / 1000);<br />
return minutes;<br />
}<br />
<br />
private void showProgressDialog() {<br />
<br />
runOnUiThread(new Runnable() {<br />
public void run() {<br />
dialog = new ProgressDialog(MainActivity.this);<br />
dialog.setCancelable(false);<br />
dialog.setMessage(getString(R.string.loading));<br />
dialog.show();<br />
}<br />
});<br />
}<br />
<br />
<br />
@Override<br />
public void onAppSdkEvent(long l, int i, String s) {<br />
<br />
//IAppNotifier method<br />
}<br />
}<br />
</syntaxhighlight></div>
Admin3