Perdiendo conexión con la base de datos de Firebase después de actualizar a nuevo SDK

Después de actualizar mis proyectos SDK de Firebase, noté que mi aplicación pierde regularmente la conexión con la base de datos de firebase. El tiempo que tardaría en desconectarse, desde unos pocos minutos hasta poco más de una hora. Una vez desconectado, la aplicación no se volverá a conectar hasta que haya cerrado la sesión o eliminado los datos de las aplicaciones.

También justo antes de perder la conexión, una entrada en el registro indica que mi token de autenticación ha caducado:

PersistentConnection: pc_0 – Token de autorización revocado: expired_token (El token de autenticación ha caducado.)

FYI, estoy usando Twitter y Facebook para mi autenticación y no experimenté tales problemas con el Firebase SDK anterior.

He creado un nuevo proyecto (con autenticación simple y base de datos en tiempo real) para ver si el problema persiste y lo hace. He adjuntado fragmentos de este nuevo proyecto:

El build.gradle :

apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.sample.gideon.test" minSdkVersion 17 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } repositories { mavenCentral() } dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.4.0' compile 'com.android.support:support-v4:23.4.0' compile 'com.facebook.android:facebook-android-sdk:4.12.0' compile 'com.google.firebase:firebase-database:9.0.0' compile 'com.google.firebase:firebase-auth:9.0.0' compile 'com.android.support:design:23.4.0' } apply plugin: 'com.google.gms.google-services' 

La actividad de autenticación sigue la guía de inicio de sesión de facebook de firebase que, de hecho, registra correctamente al usuario y los envía a MainActivity, que supervisa la conexión a la base de datos con el siguiente código:

Actividad principal

  DatabaseReference connectedRef = FirebaseDatabase.getInstance().getReference(".info/connected"); connectedRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { boolean connected = snapshot.getValue(Boolean.class); if (connected) { System.out.println("connected"); } else { System.out.println("not connected"); } } @Override public void onCancelled(DatabaseError error) { System.err.println("Listener was cancelled"); } }); 

¿Alguien sabe lo que está causando que la aplicación pierda la conexión? Hasta ahora el error se ha experimentado en 2 proyectos diferentes con 2 proveedores de autenticación (twitter y facebook) y sólo después de actualizar a la nueva Firebase.

Firebase solucionó el problema de conexión con la versión 9.0.2. También para cualquiera que aún tiene problemas, encontré la respuesta en esta página muy útil. Especialmente la guía de solución de problemas producida por el equipo de firebase para aquellos que siguen experimentando problemas de token de autenticación después de actualizar a 9.0.2.

  • ¿Cómo obtener la hora actual del servidor firebase en milisegundos?
  • Firebase en Android: ¿Cómo comprobar el ancho de banda del cliente utilizado?
  • Firebase android ¿Cómo evitar que FirebaseRecyclerAdapter se actualice automáticamente?
  • ¿Cómo usar la marca de hora del servidor Firebase para generar la fecha creada?
  • Obtener las últimas publicaciones / datos de firebase con límite de 10 registros en android y poblar en Listview
  • Cómo deserializar una subclase en Firebase usando getValue (Subclass.class)
  • PopulateViewHolder no se ejecuta con FirebaseRecyclerAdapter (Android)
  • ¿Cómo dar acceso diferente a diferentes tipos de usuarios para iniciar sesión en Firebase?
  • Firebase para Android no funciona en mi dispositivo de prueba de repente
  • Autenticación de la API de Android Firebase Rest
  • Cómo comprobar si la tarea de escritura tuvo éxito en Firebase
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.