Questo documento descrive come puoi gestire l'invio dei dati a Google Analytics utilizzando l'SDK di Google Analytics per iOS v2.
Panoramica
Nell'SDK di Google Analytics per iOS, i dati raccolti, come le visualizzazioni di schermata o gli eventi, vengono archiviati localmente in una coda prima di essere inviati ai server di Google Analytics. Il processo con cui questi dati (in questo caso "hit") vengono inviati dall'SDK a Google Analytics è chiamato invio.
L'invio è specifico delle librerie di raccolte di dispositivi mobili ed è progettato per mitigare i problemi legati a un accesso alla rete inaffidabile e alla durata limitata della batteria.
Esistono due tipi di spedizione:
- Invio periodico : invia automaticamente gli hit a un intervallo ricorrente da te specificato.
- Invio manuale : invia manualmente gli hit per inviare i dati quando preferisci, ad esempio in presenza di una connessione HTTP esistente.
La parte restante di questo documento fornirà un'analisi più approfondita di ogni tipo di invio e di come implementarlo nella tua app.
Invio periodico
Man mano che l'app raccoglie dati GA, questi vengono aggiunti a una coda e inviati periodicamente a Google Analytics. L'invio periodico può verificarsi quando l'app è in esecuzione in primo piano o in background.
Il periodo di invio predefinito è
2 minuti.
Puoi fornire il tuo intervallo in secondi
chiamando setDispatchPeriod:(NSTimeInterval)
come in questo esempio:
[[GAI sharedInstance] setDispatchPeriod:60];
L'impostazione di un valore negativo comporta la disattivazione dell'invio periodico, che richiede l'invio manuale se vuoi inviare dati a Google Analytics. Se invece imposti il valore 0
, ogni hit verrà inviato immediatamente se è disponibile una connessione di rete.
Una volta inviati tutti gli hit, l'invio periodico entra in modalità di risparmio energetico e viene disabilitato fino a quando non viene effettuata un'altra chiamata di invio.
Se un utente perde l'accesso alla rete o chiude l'app mentre sono ancora presenti hit in attesa di invio, questi hit vengono mantenuti nello spazio di archiviazione locale. Verranno inviati alla successiva esecuzione dell'app e alla chiamata dell'invio.
Invio manuale
Oltre all'invio periodico, in alcuni casi potrebbe essere necessario inviare manualmente gli hit. Ad esempio, puoi raggruppare i invii con altre richieste HTTP effettuate dalla tua applicazione per ridurre l'overhead.
Gli hit possono essere inviati manualmente
chiamando il numero dispatch
, come mostrato di seguito:
[[GAI sharedTracker] dispatch];