Google Analytics and Samsung Smart TV Apps
analytics, google-analytics, javascript, samsung-smart-tv
Solution
So you need an iframe to put the file with GA snippet inside. The file must be on remote server, because Samsung Smart TV apps works on localhost and GA ignore calls from local.
<iframe name='ga' src="http://example.com/ga.html" width="0" height="0"/>
From the GA snippet you can remove the line, if you don't want GA to count trackPage on iframe load.
_gaq.push(['_trackPageview']);
Then in the main script you add this function:
var trackPage = function(url) {
if (window.ga && window.ga._gaq)
window.ga._gaq.push(['_trackPageview', '/samsung' + url.replace(/ /g, "_")]);
};
So calling for example `trackPage("/sports/football/barcelona chelsea")` somewhere in the app will produce GA track page with exact url:
/samsung/sports/football/barcelona_chelsea
It is very efficient - you can play with GA Real time and you can see how nice it works. As GA works asynchronous the iframe never gets reloaded.
Problem
I'm trying to integrate Google Analytics in my Smart TV Application. It is a Javascript based application, and I have tried all the solutions available on the SamsungDForum, but no one works. In the part of the main index.html file, I load Google Analytics: ``` <script type='text/javascript' async='true' src='https://ssl.google-analytics.com/ga.js'></script> ``` Then, I am tracking the page entrance: ``` <script type='text/javascript'> var _gaq = _gaq || []; _gaq.push([ '_setAccount', 'UA-XXXXXXXX-X' ]); _gaq.push([ '_setCustomVar', 1, 'Device Information', 'Samsung Smart TV' ]); _gaq.push([ '_trackPageview' ]); _gaq.push([ '_trackEvent', "Application", "Start" ]); </script> ``` Unfortunately, I cannot see the page tracked inside my Analytics account. Real account id is not UA-XXXXXXXX-X, I am using the correct ID in actual code. What I am doing wrong?