dipende da ciò che i tipi di browser che stai targeting. Sono questi per webapp offline HTML5?
Se si tratta di support ononline
and onoffline
events, è possibile implementarlo in modo abbastanza banale.
Alcuni codice potenzialmente praticabile, utilizzando eventi offline, JSON nativo e HTML5 archiviazione locale:
if(!localStorage.getItem("offlineGA")){
localStorage.setItem("offlineGA","[]");
}
var _ogaq = {
push : function(arr){
if(navigator.onLine || !("onLine" in navigator)){ // if online or if browser doesn't support onLine/offLine detection.
_gaq.push(arr);
}
else{
var stored = JSON.parse(localStorage.getItem("offlineGA"));
stored.push(arr);
localStorage.setItem("offlineGA", JSON.stringify(stored));
}
}
};
$(window).bind("online", function(){ // if you don't have jQuery, you can do window.ononline instead
_gaq.push(JSON.parse(localStorage.getItem("offlineGA")));
localStorage.setItem("offlineGA","[]"); //empty it
});
allora si sarebbe semplicemente utilizzare _ogaq
come un wrapper per _gaq
.
cioè:
_ogaq.push(["_trackEvent","Category", "Action"]);
Se si tenta di sparare più di 10 colpi al GA in un breve periodo sarà abbandonato, e solo verrà inviato il primo 10. Significa che per questo codice se rimani offline per troppo tempo e richiedi più di 10 eventi/pagine visualizzate, solo i primi 100 andranno effettivamente in GA una volta che sarai online – Eduardo
Ooh, buona chiamata. Lavorerò sull'aggiunta di un setInverval per visualizzarli a ciclo con una velocità scaglionata :) – Yahel
Inoltre, è importante notare che Google Analytics sta tracciando più di semplici eventi: cose come il tempo in cui un evento ha avuto luogo così come altre sessioni roba correlata che sarà eliminata o fuori contesto nel momento in cui l'utente torna online. La vera soluzione sarebbe quella di generare l'effettivo codice beacon dell'immagine e incorporare quelle immagini quando l'utente torna online ... vedrò se riesco a trovare una soluzione. –