Error de integración firebase: los servicios de Google Play están desactualizados

Estoy intentando integrar Firebase en mi aplicación android. Estoy usando este tutorial . He actualizado mi gestor sdk, agregó google-services.json e hizo todo lo mencionado en el sitio web. Todavía estoy recibiendo este error de Google Play services out of date . Quiero obtener el ID de token del dispositivo para poder enviarlo al servidor en la actividad de inicio de sesión. ¿Hay algo más que necesito hacer para obtener el ID de token del dispositivo?

Manifiesto

 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="MY_PACKAGE"> <uses-permission android:name="android.permission.INTERNET"/> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:launchMode="singleTask" android:theme="@style/MyTheme"> <activity android:name=".SplashActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity" /> <activity android:name=".LoginActivity" android:theme="@style/AppTheme" android:label="@string/signin"/> <activity android:name=".RegisterActivity" android:theme="@style/AppTheme" android:label="@string/cac"/> <service android:name=".services.RegistrationIntentService" android:exported="false"/> <service android:name=".services.FCMMessageHandler" android:exported="false" > <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service> <service android:name=".services.MyInstanceIDListenerService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.INSTANCE_ID_EVENT"/> </intent-filter> </service> </application> </manifest> 

App build.gradle

 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "MY_PACKAGE" minSdkVersion 11 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.android.volley:volley:1.0.0' compile 'com.google.firebase:firebase-messaging:9.2.1' compile 'com.google.android.gms:play-services:9.2.1' compile 'com.android.support:multidex:1.0.1' } apply plugin: 'com.google.gms.google-services' 

Servicio

 public class RegistrationIntentService extends IntentService { // abbreviated tag name private static final String TAG = "RegIntentService"; public static final String SENT_TOKEN_TO_SERVER = "sentTokenToServer"; public static final String FCM_TOKEN = "FCMToken"; public RegistrationIntentService() { super(TAG); } @Override protected void onHandleIntent(Intent intent) { // Make a call to Instance API FirebaseInstanceId instanceID = FirebaseInstanceId.getInstance(); String senderId = getResources().getString(R.string.gcm_defaultSenderId); SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); try { // request token that will be used by the server to send push notifications String token = instanceID.getToken(); Log.d(TAG, "FCM Registration Token: " + token); System.out.println("Token:" + token); sharedPreferences.edit().putString(FCM_TOKEN, token).apply(); // pass along this data sendRegistrationToServer(token); } catch (Exception e) { e.printStackTrace(); Log.d(TAG, "Failed to complete token refresh", e); // If an exception happens while fetching the new token or updating our registration data // on a third-party server, this ensures that we'll attempt the update at a later time. sharedPreferences.edit().putBoolean(SENT_TOKEN_TO_SERVER, false).apply(); } } private void sendRegistrationToServer(String token) { // send network request // if registration sent was successful, store a boolean that indicates whether the generated token has been sent to server SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); sharedPreferences.edit().putBoolean(SENT_TOKEN_TO_SERVER, true).apply(); } } 

Logcat

 07-15 15:02:59.004 24479-24707/com.sam.bidnextjob I/FA: Tag Manager is not found and thus will not be used 07-15 15:02:59.028 24479-24707/com.sam.bidnextjob W/GooglePlayServicesUtil: Google Play services out of date. Requires 9256000 but found 9083234 07-15 15:02:59.029 24479-24479/com.sam.bidnextjob W/FA: Service connection failed: ConnectionResult{statusCode=SERVICE_VERSION_UPDATE_REQUIRED, resolution=null, message=null} 07-15 15:03:59.033 24479-26561/com.sam.bidnextjob W/FA: Tasks have been queued for a long time 

Creo que este es un problema lateral del dispositivo. Mirando su logcat:

Los servicios de Google Play están desactualizados. Requiere 9256000 pero encontrado 9083234

Parece que tu dispositivo no está ejecutando la versión requerida de los servicios de Google Play. Prueba a actualizar los servicios de Google Play en el dispositivo y esto debería solucionar este problema.

Además del servicio de Google Play, también es necesario actualizar el repositorio de Google a la más reciente. No sé por qué no hay documentación sobre esto, pero la actualización de google repositorio resolver mi problema.

  • Firebase disparando demasiadas alarmas
  • Mensaje de datos FCM no recibido en Android cuando la aplicación está en segundo plano
  • No hay un método estático zzUr () en Firebase cuando intento utilizar Analytics con notificaciones
  • Al hacer clic en la notificación no se abre la actividad mencionada
  • Obtener todos los temas suscritos de la mensajería en la nube de firebase
  • Temas en la mensajería de Cloud Firebase?
  • ¿Cómo obtener la notificación de Heads Up en android mediante la mensajería de Cloud Firebase (notificación) mientras la aplicación no está en primer plano?
  • Firebase 401 error no autorizado FCM
  • Cómo enviar una notificación push de FCM (firebase cloud messaging) desde el ADB al dispositivo
  • Función de nube ejecutada correctamente pero notificación que no muestra android
  • FCM: onMessageReceived no se llama, la notificación no llegó incluso después de enviar msg a fcm?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.