2012-04-23 10 views
6

Sto cercando di integrare Google Analytics nella mia applicazione Smart TV.Google Analytics e Samsung Smart TV Apps

Si tratta di un'applicazione basata su Javascript e ho provato tutte le soluzioni disponibili su SamsungDForum, ma nessuno funziona.

Nella parte del file index.html principale, ho caricare Google Analytics:

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

Poi, sto tracking all'ingresso pagina:

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

Purtroppo, non riesco a vedere la pagina monitorato all'interno del mio account Analytics. L'ID conto reale non è UA-XXXXXXXX-X, sto utilizzando l'ID corretto nel codice reale.

Cosa sto facendo male?

risposta

1

Per quanto ne so, è necessario collegarsi ad esso utilizzando un Iframe, altrimenti non attiverà gli eventi.

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

Grazie. Usando lo Iframe, sarò in grado di tenere traccia degli eventi e delle pagine interne? –

+0

Se si aggiunge _trackEvent al file caricato dall'iframe, allora sì. Tuttavia, se vuoi monitorare qualcos'altro in seguito, devi modificare iframes scr in modo che carichi una pagina diversa con quell'evento richiesto. Quindi potresti finire con più file tracking.html. È un modo sporco per farlo funzionare, ma almeno si ottengono delle statistiche. – Scriptor

+0

Sono preoccupato per le prestazioni .... –

7

Quindi è necessario un iframe per inserire il file con lo snippet GA all'interno. Il file deve trovarsi sul server remoto, poiché le app Samsung Smart TV funzionano su localhost e GA ignorano le chiamate locali.

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

da GA snippet è possibile rimuovere la linea, se non si vuole GA contare trackPage sul carico iframe.

_gaq.push(['_trackPageview']); 

Poi nello script principale si aggiunge questa funzione:

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

Così, chiamando ad esempio trackPage("/sports/football/barcelona chelsea") da qualche parte in app produrrà pagina pista GA con url esatto:

/samsung/sports/football/barcelona_chelsea 

E ' è molto efficiente: puoi giocare con GA in tempo reale e puoi vedere come funziona. Mentre GA funziona in modo asincrono, l'iframe non viene mai ricaricato.

1

Suggerirei - e ha finito per con- implementare il/la mia, con ad esempio un Ajax chiamata con GET a Google Analytics come descritto qui https://stackoverflow.com/a/24181771/174953 Soprattutto perché tutti i parametri necessari possono essere trovati nella propria documentazione di GA https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters#content

Ho scoperto nei forum Samsung che l'opzione iframe non funzionava su tutti i modelli, non credo nel 2013 +