Firebase SDK projelerimi güncelleştirdikten sonra uygulamamın düzenli olarak firebase veritabanıyla bağlantısını kaybedeceğini fark ettim. Bağlantıyı kesmek için birkaç dakika ile bir saatten biraz fazla sürdüğü zaman. Bağlantı kesildikten sonra uygulama oturumunu kapattıktan veya temizledikten sonra uygulama tekrar bağlanmayacaktı.Yeni SDK'ya güncelleştirildikten sonra Firebase veritabanıyla bağlantıyı kaybediyor
Ayrıca sağ Bağlantıyı, benim doğrulama anahtarı süresi doldu günlük devletlerde bir girdi kaybetmeden önce:
PersistentConnection: pc_0 - Auth belirteç iptal: (. Auth belirteç süresi dolmuş) expired_token
FYI, Twitter ve Facebook'u kimlik doğrulamam için kullanıyorum ve önceki Firebase SDK'sında bu tür sorunlarla karşılaşmadım.
Sorun devam edip etmediğini görmek için yeni bir proje (basit auth ve gerçek zamanlı veritabanıyla) oluşturdum.
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'
kimlik aktivite gerçekten de başarıyla kullanıcıya kaydeder ve gönderir Firebase facebook giriş rehber, şu bunu yeni projenin parçacıkları ekledim aşağıdaki kodu kullanarak veritabanı bağlantı izler MainActivity:
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");
}
});
Uygulamanın bağlantı kaybına neden olduğunu bilen var mı? Şimdiye kadar, 2 auth sağlayıcı (twitter ve facebook) ile ve sadece yeni Firebase'e güncelledikten sonra 2 farklı projede hata yaşandı.
Merhabalar! Biz buna bakıyoruz! Görünüşe göre, en iyisi [destek] 'e bir hata göndererek izlenebilir. (Https://firebase.google.com/support/) – Kato
@Kato Teşekkürler. Bir rapor gönderirim ve bu sayfayı referans olarak eklerim. –
Firebase ile e-posta/şifre kimlik doğrulaması kullanarak onaylayabilirim - *: 9.0.0. Ayrıca firebase-server-sdk: 3.0.0 kullanarak, kimlik doğrulaması serviceAccountCredentials.json dosyasını izler. Her iki durumda da bir sessizlik döneminden (birkaç saat) sonra, günlükler şu şekilde birkaç mesaj gösterir: "PersistentConnection ...". Bu garip çünkü sunucuda kalıcılığı bile engellemiyorum. – rmarau