10

Nach der Aktualisierung meiner Firebase-SDK-Projekte bemerkte ich, dass meine App regelmäßig die Verbindung zur Firebase-Datenbank verliert. Die Zeit, die für die Trennung benötigt wird, reicht von ein paar Minuten bis etwas über eine Stunde. Sobald die Verbindung getrennt wurde, wurde die Verbindung nicht wiederhergestellt, bis ich die Apps-Daten entweder abgemeldet oder gelöscht habe.Die Verbindung mit der Firebase-Datenbank wurde nach dem Update auf das neue SDK verloren

Auch kurz bevor ich verlieren Verbindung, einen Eintrag in den Log-Staaten, die mein Auth-Token abgelaufen ist:

PersistentConnection: pc_0 - Auth-Token widerrufen: (. Auth-Token abgelaufen ist) expired_token

FYI, ich benutze Twitter und Facebook für meine Authentifizierung und nicht solche Probleme mit dem vorherigen Firebase SDK.

Ich erstellte ein neues Projekt (mit einfacher Auth und Echtzeit-Datenbank), um zu sehen, ob das Problem bestehen bleibt und es tut. Ich habe Schnipsel dieses neue Projekt angehängt:

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

Die Authentifizierungs-Aktivität folgt der Feuerbasis Facebook Login Führung, die in der Tat erfolgreich sich der Benutzer anmeldet und sendet sie an die MainActivity, die dann die Datenbankverbindung überwacht den folgenden Code:

MainActivity

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"); 
     } 
    }); 

Würde jemand wissen, was die App verursacht, Verbindung zu verlieren? Bisher wurde der Fehler in 2 verschiedenen Projekten mit 2 Auth-Providern (Twitter und Facebook) und erst nach dem Update auf den neuen Firebase festgestellt.

+0

Hallo Herren! Wir schauen uns das an! Sieht so aus, als würde dies am besten verfolgt werden, indem ein Fehler an [support] (https://firebase.google.com/support/) gesendet wird. – Kato

+0

@Kato Danke. Ich werde einen Bericht einreichen und diese Seite als Referenz beifügen. –

+1

Ich kann es bestätigen mit E-Mail/Passwort-Authentifizierung mit Firebase - *: 9.0.0. Und auch mit Firebase-Server-SDK: 3.0.0, in diesem Fall folgt die Authentifizierung der Datei serviceAccountCredentials.json. In beiden Fällen nach einer Pause (einige Stunden) zeigen die Protokolle mehrere Nachrichten als: "PersistentConnection ...". Was seltsam ist, weil ich auf dem Server nicht einmal Persistenz aktiviere. – rmarau

Antwort

5

Firebase hat das Verbindungsproblem mit der Version 9.0.2 behoben. Auch für alle, die immer noch Probleme haben, fand ich die Antwort auf this page sehr nützlich. Vor allem the troubleshoot guide, die vom Firebase-Team für diejenigen erstellt wurden, bei denen nach der Aktualisierung auf 9.0.2 weiterhin Probleme mit dem Authentifizierungstoken aufgetreten sind.

Verwandte Themen