admin管理员组

文章数量:1290975

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='.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?

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./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?

Share Improve this question asked Apr 23, 2012 at 12:34 Francesco FacconiFrancesco Facconi 2493 silver badges17 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 7

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./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.

As far as i know you need to link to it using an Iframe, otherwise it will not fire the events.

<iframe src='http://yourwebserver./ga-code-application-start.html' width='0' height='0'/></iframe>

I would remend - and ended up with- implementing your/my own, with for example an Ajax call with GET to Google Analytics like described here https://stackoverflow./a/24181771/174953 Especially since all needed parameters can be found in GA's own documentation https://developers.google./analytics/devguides/collection/protocol/v1/parameters#content

I discovered in Samsungs forums that the iframe option didn't work on all models, I believe not on 2013+

本文标签: javascriptGoogle Analytics and Samsung Smart TV AppsStack Overflow