Spojrzałem na Facebooku SDK 3.0, aby spróbować dowiedzieć się, jak śledzić instalacje pochodzące z kampanii Facebooku i zobaczył to w dokumentacji:dlaczego com.facebook.Settings.publishInstallAsync w onResume?
Dla FB Android SDK 3.0, dodać następujące onResume() każdego działania w Twojej aplikacji: com.facebook.Settings.publishInstallAsync (kontekst, YOUR_APP_ID);
Mam 2 podstawowe pytania:
Dlaczego tak się dzieje w każdej działalności zamiast aktywności wyrzutni?
Dlaczego to się dzieje w metodzie
onResume
zamiastonStart
? Android zaleca, aby nie robić takich rzeczy w urządzeniuonResume
.
Edit - choć to asynchroniczny robi to w kółko wydaje się głupie i un konieczne
Nie rozumiem dlaczego nie zrobić tego z 'onStart' lub nawet' onCreate', nie ma powodu, aby robić to w kółko za każdym razem, gdy Activity wznawia pracę – thepoosh
Zgadzam się, jednak połączenie jest zasadniczo nie-op (przynajmniej sieci mądry), gdy tylko SDK otrzymał odpowiedź od serwera. – David
Ma tylko trochę większą szansę na wykrycie i uniknięcie awarii sieci, próbując raz jeszcze, gdy aplikacja zostanie wznowiona. W przeciwnym razie trzeba będzie poczekać, aż użytkownik zamknie aplikację i zacznie ją ponownie próbować, co byłoby poważnym problemem, gdyby użytkownik po prostu użył przycisku Strona główna, zamiast faktycznie wyjść. Jednak, o ile wiem, jeśli absolutnie nie chcesz tego zrobić z dowolnej przyczyny, możesz to zrobić na Utwórz i miej nadzieję, że zadziała po raz pierwszy. Po prostu nie jest zalecane. – arlanthir