2012-04-23 33 views
6

Próbuję zintegrować Google Analytics z moją aplikacją Smart TV.Google Analytics i Samsung Smart TV Apps

Jest to aplikacja oparta na JavaScript i wypróbowałem wszystkie rozwiązania dostępne na SamsungDForum, ale nikt nie działa.

W części głównego pliku index.html, załadować Google Analytics:

<script type='text/javascript' async='true' src='https://ssl.google-analytics.com/ga.js'></script> 

Potem ja śledzenia wejście stronę: Niestety

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

, nie mogę znaleźć na stronie śledzone na moim koncie Analytics. Prawdziwym identyfikatorem konta nie jest UA-XXXXXXXX-X, używam poprawnego identyfikatora w rzeczywistym kodzie.

Co robię źle?

Odpowiedz

1

Z tego co wiem, musisz utworzyć link do niego za pomocą elementu iframe, w przeciwnym razie nie spowoduje to uruchomienia zdarzeń.

+0

Dziękuję. Korzystając z elementu iframe, czy będę w stanie śledzić zdarzenia i wewnętrzne widoki strony? –

+0

Jeśli dodasz _trackEvent do pliku ładowanego przez iframe, to tak. Jeśli jednak chcesz śledzić coś później, musisz zmienić element iframes scr, aby załadować inną stronę z wymaganym zdarzeniem. Możesz więc skończyć z wieloma plikami tracking.html. To nieprzyjemny sposób, żeby to działało, ale przynajmniej otrzymujesz statystyki. – Scriptor

+0

Martwię się o występy ... –

7

Potrzebny jest element iframe do umieszczenia pliku z fragmentem GA w środku. Plik musi znajdować się na zdalnym serwerze, ponieważ aplikacje Samsung Smart TV działają na localhost, a GA ignoruje połączenia lokalne.

<iframe name='ga' src="http://example.com/ga.html" width="0" height="0"/> 

Od GA snippet można usunąć wiersz, jeśli nie chcesz GA liczyć trackPage obciążenia iframe.

_gaq.push(['_trackPageview']); 

Następnie w głównym skrypcie dodać tę funkcję:

var trackPage = function(url) { 
    if (window.ga && window.ga._gaq) 
     window.ga._gaq.push(['_trackPageview', '/samsung' + url.replace(/ /g, "_")]); 
    }; 

Więc wzywającą np trackPage("/sports/football/barcelona chelsea") gdzieś w aplikacji będzie produkować stronę ścieżki GA z dokładnym adresem URL:

/samsung/sports/football/barcelona_chelsea 

It jest bardzo wydajny - możesz grać z GA Real Time i możesz zobaczyć, jak to działa. Gdy GA działa asynchronicznie, element iframe nigdy nie zostanie przeładowany.

1

Polecam - i skończyło się z- realizację Twój/mój własny, z na przykład Ajax zadzwonić z dostać się do Google Analytics, jak opisano tutaj https://stackoverflow.com/a/24181771/174953 Zwłaszcza, że ​​wszystkie potrzebne parametry można znaleźć w AH własnej dokumentacji https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content

Na forach Samsung odkryłem, że opcja iframe nie działa we wszystkich modelach, nie wierzę w 2013+