In realtà penso che potrei trovare il modo di farlo funzionare. Leggendo la documentazione: https://developers.google.com/analytics/devguides/collection/android/v4/dispatch
Per impostazione predefinita, i dati viene inviato dal Google Analytics SDK per Android ogni 30 minuti.
Sì, i miei pensieri erano "Cosa ???? 30 minuti? Non supponiamo di essere in tempo reale?" In ogni caso, la lettura di un po 'di più:
Per impostare il periodo di spedizione a livello di codice:
// Set the dispatch period in seconds.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(15);
per impostare il periodo invio nel file di configurazione XML:
<integer name="ga_dispatchPeriod">30</integer>
Cos'altro ...
L'impostazione di un valore negativo disattiva la spedizione periodica, richiedendo l'utilizzo della spedizione manuale se si desidera inviare dati a Google Analytics.
// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0);
Ok, forse si è trovato un valore negativo controverso qui, o inferiore a 1? Ho provato, è meno di 1! (0 o numero negativo disabiliterà la spedizione periodica).
Se si preferisce quindi l'invio manuale, che sarebbe, per esempio:
tracker.setScreenName(TAG);
tracker.send(new HitBuilders.AppViewBuilder().build());
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();
Si noti che è possibile chiamare dispatchLocalHits() ogni volta che si desidera (anche fare un pulsante che richiama quella funzione). A proposito, quel pezzo di codice è sui miei frammenti (nel metodo onResume()).
Anche la documentazione dice:
Se un utente perde l'accesso alla rete o si chiude la vostra applicazione mentre ci sono ancora risultati in attesa di essere> spediti, quei colpi vengono mantenute in memoria locale. Verranno inviati la volta successiva> in cui la tua app è in esecuzione e viene chiamato il messaggio.
Ma non ero sicuro se questo vale sia per la spedizione manuale che per quella periodica.L'ho provato, entrambi sembrano funzionare :)
Risposta utile e piacevole, grazie @Ferran – marino