Firebase addValueEventListener работает только в течение нескольких часов

кто-нибудь сталкивался с этой проблемой? Мой код Firebase работает только в течение пары часов (полностью функциональный и все), а затем, когда я пытаюсь снова, он больше не работает. Посмотрите код ниже, как я это называю:

        ValueEventListener valueEventListener = new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                Log.e(TAG, "onDataChange: Job found");
                for (DataSnapshot jobSnapShot : dataSnapshot.getChildren()) {
                    Log.e(TAG, "onDataChange: Job +1");
                    Job job = jobSnapShot.getValue(Job.class);
                    // Add the ID into the job
                    job.setId(dataSnapshot.getKey());

                    // Set the job
                    arrayList.add(job);
                    subscriber.onNext(job);
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                Log.e(TAG, "onCancelled: " + databaseError.getMessage());
            }
        };
        Log.e(TAG, "call: id:" + userId + ", reference:" + FirebaseDatabase.getInstance().getReference().toString());
        Log.e(TAG, "call: Calling Jobs...");
        FirebaseDatabase.getInstance()
                .getReference()
                .child(context.getString(R.string.firebase_jobs))
                .child(userId).
                addValueEventListener(valueEventListener);

Линии:

    Log.e(TAG, "call: id:" + userId + ", reference:" + FirebaseDatabase.getInstance().getReference().toString());
    Log.e(TAG, "call: Calling Jobs...");

Выполнять каждый раз. UserId и getReference возвращают правильные значения. Однако addValueEventListener, по-видимому, не добавляет прослушиватель спустя несколько часов. Единственный способ исправить это - выйти и снова войти в систему.

РЕДАКТИРОВАТЬ:

Мой код слушателя состояния авторизации:

firebaseAccount = getFirebaseAccount();
firebaseAccount.getAuth().addAuthStateListener(firebaseAccount.getAuthListener());

В firebaseAccount:

public FirebaseAuth.AuthStateListener getAuthListener() {
    return authStateListener;
}

FirebaseAuth.AuthStateListener authStateListener = new FirebaseAuth.AuthStateListener() {
    @Override
    public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
        FirebaseUser firebaseUser = firebaseAuth.getCurrentUser();
        if (firebaseUser != null) {
            String id = firebaseUser.getUid();
            // User is signed in
            Log.e(TAG, "onAuthStateChanged: Signed in as " + id);
            // Start loginActivity when signed in
            loginActivity.onLoginSuccess(id);
        } else {
            // User is not signed in
            Log.e(TAG, "onAuthStateChanged: Signed out");

            // User probably logged out. Finish the loginActivity and launch the login screen
        }
    }
};
 Ymmanuel03 июн. 2016 г., 19:49
Вы используете FirebaseAuth.AuthStateListener ??
 lawonga03 июн. 2016 г., 20:00
Если я выйду из своего приложения и снова войду в систему, тогда я снова смогу добавить обработчик событий value :(
 lawonga04 июн. 2016 г., 01:33
Кажется, он работает час назад, что является новым рекордом! Я не думаю, что будет больше проблем
 lawonga03 июн. 2016 г., 19:39
Я также получаю очень длинное сообщение: background_crash V / GoogleSignatureVerifier: com.google.android.gms подпись недействительна. Найдено:
 Alfonso Gomez Jordana Manas04 июн. 2016 г., 01:31
Спасибо за пометку ответа как принятого так быстро :)
 Ymmanuel03 июн. 2016 г., 20:01
Существует проблема с аутентификацией Android с новым firebase, сегодня в 12:00 PT опубликует обновление проблемы, и это звучит похоже на поведение этой проблемыgithub.com/firebase/quickstart-andr
 Ymmanuel03 июн. 2016 г., 19:25
вы используете аутентификацию?
 Alfonso Gomez Jordana Manas03 июн. 2016 г., 21:06
Здравствуйте, Альфонсо из команды Firebase Auth здесь. Вышеуказанный инцидент разрешен уже в 9.0.2. Это не должно быть связано :) Можете ли вы попробовать запустить следующий код после входа в систему? Это вызывает обновление пользовательского токена, что может быть причиной сбоя.gist.github.com/alfongj/44bdab03de37224c44a274bfb35e7b6b  Пожалуйста, дайте нам знать, если это работает правильно или выдает исключение.
 lawonga03 июн. 2016 г., 21:29
Привет, 9.0.2 может быть еще недоступен для меня, так как не позволяет мне компилировать на 9.0.2, даже если я делаю 9.0. +. В любом случае, я получаю это сообщение об ошибке:gist.github.com/lawonga/fdfdceef4bb6abc6ab9a1d8cfc9e943b  В настоящее время он работает и по-прежнему выдает это сообщение. Я собираюсь попытаться повторить проблему, а затем сообщить, когда она не работает.
 lawonga03 июн. 2016 г., 20:05
Я не получаю сообщение "FirebaseApiNotAvailableException", хотя .. но я подожду немного тогда. Спасибо!
 lawonga03 июн. 2016 г., 19:34
Да, я могу подтвердить, что пользователь вошел в систему, и я могу получить идентификаторы пользователя, вошедшего в систему.
 Ymmanuel03 июн. 2016 г., 19:42
Подпись com.google.android.gms недействительна. Возможно, срок действия вашего токена истек, и вам необходимо обновить его
 Androidcoder12 апр. 2018 г., 00:00
Я не могу получить информацию из базы данных Firebase при первом запуске моего производственного приложения, хотя могу отправить информацию. Только начиная второй запуск приложения я могу получить информацию.
 lawonga03 июн. 2016 г., 22:09
Привет, у меня есть проблема, чтобы появиться снова. Получение этого сообщения:gist.github.com/lawonga/1b2a09fccd86a2c24bf3dbf6d17095da  Кажется, что подпись background_crash V / GoogleSignatureVerifier: com.google.android.gms недействительна. также происходит, когда я не могу получить свои данные из базы данных Firebase
 lawonga03 июн. 2016 г., 19:52
Да, я добавляю authstatelistener при входе в систему. Добавление кода прослушивателя состояния auth выше ...
 Alfonso Gomez Jordana Manas03 июн. 2016 г., 22:59
Хорошо. Вы можете спокойно игнорировать сообщение GoogleSignatureVerifier, это просто журнал из Google Play, который иногда может показываться, но не влияет на поведение (команда Google Play работает над тем, чтобы оно выглядело менее пугающим). Чтобы исправить вашу проблему, я попрошу вас следоватьэти шаги, а затем повторно запустите код из моей сущности выше, и сообщите, если он работает.
 lawonga04 июн. 2016 г., 00:18
Здравствуйте, ваше исправление в данный момент работает. Я сообщу, если он перестанет работать! Большое спасибо!
 Ymmanuel03 июн. 2016 г., 20:02
status.firebase.google.com/incident/Authentication/16001 вот обновление Firebase

Ответы на вопрос(1)

Решение Вопроса

что токены Firebase Auth не обновляются должным образом, что само по себе вызвано неверной конфигурацией вашего проекта Firebase.

Вы можете узнать, не происходит ли обновление токена, вызвав следующий фрагмент после входа пользователя в систему:

FirebaseUser user = mAuth.getCurrentUser(); // mAuth is your current firebase auth instance
user.getToken(true).addOnCompleteListener(this, new OnCompleteListener<GetTokenResult>() {
    @Override
    public void onComplete(@NonNull Task<GetTokenResult> task) {
        if (task.isSuccessful()) {
            Log.d(TAG, "token=" + task.getResult().getToken());
        } else {
            Log.e(TAG, "exception=" +task.getException().toString());
        }
    }
});

(Если есть проблема, вы получите исключение).

Вы можете следоватьэто руководство что мы собрали в команде Firebase для устранения неполадок и устранения любых проблем с конфигурацией, которые могут вызвать эту проблему.

Вышеприведенные шаги должны быть постоянным решением проблемы, однако мы также прилагаем все усилия, чтобы внедрить способ автоматического обнаружения неправильных настроек и их прозрачного устранения. Извиняюсь за любую проблему, которую это, возможно, вызвало у вас.

Ваш ответ на вопрос