Я пытаюсь написать тестовое Android-приложение, используя Firebase Backend.Я сделал все настройки в соответствии с инструкциями (используя вход в Google для проверки подлинности и правил проверки подлинности для корневого объекта в базе данных реального времени), но все еще не могу заставить firebase возвращать что-либо, но значение null равно значению снимка (когда вызывается onDataChange ()).Я уверен, что путь и другие параметры действительны - в противном случае я получаю «Отказано в доступе» в обратном вызове onCancelled ().Что я могу сделать не так?
Код:
mDatabase = FirebaseDatabase.getInstance().getReference("api");
mDatabase.child("test")
.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot
dataSnapshot) {
if (dataSnapshot.exists()) {
//code that's never called
}
}
@Override
public void onCancelled(@NonNull DatabaseError
databaseError) {
//log error
}
});
Зависимости:
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation 'com.google.firebase:firebase-database:16.0.3'
implementation 'com.google.firebase:firebase-auth:16.0.4'
Структура данных:
{"test" : true}
toString () снимкарезультат:
DataSnapshot { key = test, value = null }
Единственное, что я мог успешно извлечь из Firebase (если это имеет значение):
FirebaseDatabase.getInstance().getReference(".info/serverTimeOffset");
Правила базы данных:
{"rules": {
"api":{
".read": "auth != null",
".write": "auth != null",
}}}
Спасибо за любую помощь.