Invio - SDK per iOS

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