2016-06-30 11 views
11

Chcę zintegrować Firebase Analytics w moim projekcie.SERVICE_VERSION_UPDATE_REQUIRED błąd przy użyciu Firebase Analytics na Androida

I po Guide ale daje mi to ostrzeżenie:

06-30 18:38:30.514 W/FA  (2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 
06-30 18:38:30.888 W/FA  (2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 
06-30 18:38:32.306 W/FA  (2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 
06-30 18:38:32.338 W/FA  (2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 
06-30 18:38:32.661 W/FA  (2091): Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 
06-30 18:39:32.680 W/FA  (2091): Tasks have been queued for a long time 

Moja wersja projektu jest:

ext { 
minSdkVersion = 17 
targetSdkVersion = 23 
compileSdkVersion = 23 
compileSdkVersionS = 'Google Inc.:Google APIs:23' 
supportVersion = '24.0.0' 
buildToolsVersion = '23.0.2' 
sourceCompatibilityVersion = JavaVersion.VERSION_1_7 
targetCompatibilityVersion = JavaVersion.VERSION_1_7 
gradleVersion = '2.1.2' 
playServicesVersion = '9.2.0' 
gsonVersion = '2.3'} 

dziennik jest wydruk poprzez

adb shell setprop log.tag.FA VERBOSE 
adb shell setprop log.tag.FA-SVC VERBOSE 
adb logcat -v time -s FA FA-SVC 

myślę, że wersja, której teraz używam jest wystarczająco dobra, ale nadal otrzymuję komunikat o błędzie, czy ktoś może giv Czy mam na to wskazówkę?

+0

Ostrzeżenia mogą wskazywać, że Twoje Usługi Google Play wymagają aktualizacji. Czy nie widzisz również komunikatu ostrzegawczego z informacją, że: Usługi Google Play są nieaktualne? Czy korzystasz z emulatora? Wersja GPS na moich urządzeniach to 9.2.56. –

+0

1. Nie widziałem komunikatu ostrzegawczego z informacją o tym. 2. Działa na prawdziwym urządzeniu. Co powinienem zrobić, aby zaktualizować usługę Google Play w moim telefonie komórkowym? –

+0

Możesz zobaczyć zainstalowany numer wersji, przechodząc do Ustawień/Menedżera aplikacji i znajdując Usługi Google Play. Obecna wersja to 9.2.56. Możesz pobrać zainstalowany numer wersji z kodu, dzwoniąc pod numer [GoogleApiAvalability.GOOGLE_PLAY_SERVICES_VERSION_CODE] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability). Jeśli zainstalowana wersja nie jest najnowsza, możesz ją zaktualizować w [sklepie Google Play] (https://play.google.com/store/apps/details?id=com.google.android.gms&hl=pl). –

Odpowiedz

9

Po dodaniu komentarzy do pytania (patrz wyżej), eksperymentowałem z uruchomieniem aplikacji zbudowanej w Firebase 9.2.0 na emulatorze ze starą wersją Usług Google Play. Używając poleceń opublikowanych w pytaniu, zobaczyłem te same ostrzeżenia, co te zawarte w pytaniu. Również w normalnym logcat wyjściem było przesłanie:

W/GooglePlayServicesUtil: Google Play services out of date. Requires 9256000 but found 9080030 

Musisz zaktualizować Usługi Google Play na swoim urządzeniu. Jeśli używasz Firebase 9.2.0, wymagana wersja Usług Play to 9.2.56.

+0

Czy istnieje sposób na wychwycenie/wykrycie tego błędu podczas działania na urządzeniu produkcyjnym? Podczas ręcznego łączenia się z interfejsami API Usług Google Play można użyć adresu [https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener#onConnectionFailed(com.google.android .gms.common.ConnectionResult))] w tym celu, ale Firebase wydaje się podejmować próbę połączenia za kulisami. Wiele urządzeń w terenie korzysta z nieaktualnych Usług Google Play, więc programatyczne jest wychwytywanie tego błędu i sugerowanie aktualizacji użytkownikowi. – CCJ

+1

@CCJ: Użyj metod [GoogleApiAvailability] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability), w szczególności 'isGooglePlayServicesAvailable()'. –

+0

ah okay. Tekst tej metody brzmi "Sprawdza, czy usługi Google Play są zainstalowane i włączone na tym urządzeniu, a wersja zainstalowana na tym urządzeniu nie jest starsza niż ta wymagana przez tego klienta" - do jakiego klienta się odnoszą? Czy wymagana wersja nie powinna być specyficzna dla danego interfejsu API usług Google Play? Jeśli tak, w jaki sposób mogę zastosować tę metodę do interfejsów API wymaganych przez Firebase Analytics, aby upewnić się, że próby połączenia z interfejsem Firebase interfejsu API nie spowodują stanu SERVICE_VERSION_UPDATE_REQUIRED? – CCJ

Powiązane problemy