Firebase Android tarda hasta 45 minutos en reconectarse

En algunos dispositivos (la lista se proporciona a continuación), Firebase demora entre 20 y 45 minutos en volver a conectarse una vez que se recupera la conexión a Internet. ¿Se puede hacer algo para acelerar las cosas?

Primero pensé que el problema venía del.info/connected no se activó el escucha de eventos, pero luego me di cuenta de que si había algunas escrituras pendientes, también se comprometieron después de este largo retraso, cuando se activó el escucha de eventos.

Intenté escuchar el estado de conectividad y llamar manualmentegoOffline / goOnline, pero no arrojó ningún resultado.

El problema se puede reproducir con el ejemplo de la base de datos de inicio de Android, por ejemplo, agregando lo siguiente aonCreate método de laSignInActivity.

// test data value event listener
mDatabase.child("test").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snapshot) {
        String value = snapshot.getValue(String.class);
        Log.d(TAG, value);
    }
    @Override
    public void onCancelled(DatabaseError error) {
        Log.d(TAG, error.getMessage());
    }
});
// test presence value event listener
mDatabase.child(".info/connected").addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot snapshot) {
        boolean connected = snapshot.getValue(Boolean.class);
        Log.d(TAG, String.valueOf(connected));
    }
    @Override
    public void onCancelled(DatabaseError error) {
        Log.d(TAG, error.getMessage());
    }
});

En caso de que ayude, el uso del paquete web firebase y react-native muestra el mismo comportamiento en los mismos dispositivos.

Aquí hay una lista de dispositivos donde he visto el problema:

Samsung Galaxy Viewchuwi-hi12 - 5.1touchlet x13 octaasus zenpad 300 chuawei mediapad t2

Esos dispositivos nunca muestran este comportamiento:

acer iconia one 10 b3-a30-k5esSamsung Galaxy Tab E - 5.1archos 121D neon

Finalmente, aquí están los registros para un dispositivo sin problemas y un dispositivo con el problema:

iniciar sesión ok:https://gist.github.com/VonD/eb79a57e69bc5026f0a1f145635ccd6ael registro no está bien:https://gist.github.com/VonD/a26e194859453e2c538dd8b9e6573b62

En ambos casos, acabo de iniciar la aplicación, apagué el wifi, esperé el.info/connected El activador de eventos se activará y volverá a activar el wifi. Las marcas de tiempo muestran las diferencias de retraso en ambos dispositivos.

Respuestas a la pregunta(0)

Su respuesta a la pregunta