2016-06-30 58 views
11

Desidero integrare Firebase Analytics nel mio progetto.SERVICE_VERSION_UPDATE_REQUIRED errore utilizzando Firebase Analytics su Android

Ho seguito la Guide ma mi dà questo avvertimento:

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 

La mia versione del progetto è:

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'} 

Il registro è la stampa attraverso

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

Penso che la la versione che sto usando ora è abbastanza buona ma sto ancora ricevendo il messaggio di errore, può chiunque dare me ne accenni?

+0

Gli avvisi potrebbero indicare che i tuoi servizi di Google Play richiedono un aggiornamento. Non visualizzi anche un messaggio di avviso che indica: _Google Play Services non aggiornato? Stai correndo su un emulatore? La versione del GPS sui miei dispositivi è 9.2.56. –

+0

1. Non ho visto un messaggio di avviso che lo confermava. 2. Funziona su un dispositivo reale. Cosa devo fare per aggiornare il servizio Google Play nel mio cellulare? –

+0

Puoi vedere il numero di versione installato andando in Impostazioni/Gestione applicazioni e trovando Google Play Services. La versione corrente è 9.2.56. Puoi ottenere il numero di versione installato dal codice chiamando [GoogleApiAvalability.GOOGLE_PLAY_SERVICES_VERSION_CODE] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability). Se la tua versione installata non è la più recente, puoi aggiornarla dal [Google Play Store] (https://play.google.com/store/apps/details?id=com.google.android.gms&hl=en). –

risposta

9

Dopo aver pubblicato commenti sulla domanda (vedere sopra), ho sperimentato l'esecuzione di un'app realizzata con Firebase 9.2.0 su un emulatore con una versione precedente di Google Play Services. Usando i comandi adb inseriti nella domanda, ho visto gli stessi avvertimenti di quelli inclusi nella domanda. Anche nel normale logcat uscita era il messaggio:

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

È necessario aggiornare Google Play Services sul dispositivo. Se esegui Firebase 9.2.0, la versione richiesta di Play Services è 9.2.56.

+0

C'è un modo per rilevare/rilevare questo errore mentre è in esecuzione su un dispositivo di produzione? Quando ti colleghi manualmente alle API di Google Play Services, puoi utilizzare [https://developers.google.com/android/reference/com/google/android/gms/common/api/GoogleApiClient.OnConnectionFailedListener#onConnectionFailed(com.google.android .gms.common.ConnectionResult))] per questo scopo, ma Firebase sembra fare il tentativo di connettere dietro le quinte. Molti dispositivi sul campo utilizzano Google Play Services obsoleti, pertanto è possibile rilevare questo errore a livello di codice e suggerire l'aggiornamento dell'utente è fondamentale. – CCJ

+1

@CCJ: utilizza i metodi di [GoogleApiAvailability] (https://developers.google.com/android/reference/com/google/android/gms/common/GoogleApiAvailability), in particolare, 'isGooglePlayServicesAvailable()'. –

+0

ah okay. Il testo di tale metodo recita "Verifica che i servizi di Google Play siano installati e abilitati su questo dispositivo e che la versione installata su questo dispositivo non sia precedente a quella richiesta da questo client" - a quale client si riferiscono? La versione richiesta non dovrebbe essere specifica per una determinata API di Google Play Services? In tal caso, come posso applicare questo metodo alle API che Firebase Analytics richiede per garantire che i tentativi di connessione API di Firebase non determinino lo stato SERVICE_VERSION_UPDATE_REQUIRED? – CCJ