Ho guardato in Facebook SDK 3.0 per cercare di trovare il modo di tracciare le installazioni proveniente da una campagna su Facebook e ho visto questo nella documentazione:perché com.facebook.Settings.publishInstallAsync in onResume?
Per la FB Android SDK 3.0, aggiungere il seguente al onResume() di ogni attività nella tua app: com.facebook.Settings.publishInstallAsync (context, YOUR_APP_ID);
Ho 2 domande fondamentali:
Perché questo succede in ogni attività invece che l'attività di lancio?
Perché ciò accade nel metodo
onResume
anzichéonStart
? Android consiglia di non fare cose del genere nelloonResume
.
Modifica - anche se è asincrona fare questo più e più volte sembra stupido e un necessario
Io non capisco perché non farlo da 'onStart' o anche da' onCreate', non c'è motivo di farlo più e più volte ogni volta che riprende l'attività – thepoosh
Sono d'accordo, tuttavia la chiamata è essenzialmente un no-op (almeno per quanto riguarda la rete) una volta SDK ha ricevuto una risposta dal server. – David
È solo per avere una possibilità leggermente migliore di rilevare ed evitare i guasti di rete provando ancora una volta quando l'app riprende. Altrimenti dovresti aspettare che l'utente chiuda l'app e ricominciare per riprovare, il che sarebbe un problema se l'utente usasse semplicemente il pulsante Home invece di chiudere effettivamente. Tuttavia, per quanto ne so, se non si vuole assolutamente farlo onResume per qualsiasi motivo, è possibile farlo suCreate e sperare che funzioni la prima volta. Non è raccomandato. – arlanthir