Безопасность на основе правил Firebase не возвращает узлы, которые доступны для чтения
База данных в реальном времени состоит из трех узлов: productA, productB и productC на корневом уровне, я хочу разрешить только узел A иB читать, но не на уровне C.Симулятор Firebase дает правильный результат, когда на этих уровнях, когда я пытаюсь код ниже, он не читает значения
myDatabaseReference = FirebaseDatabase.getInstance().getReference("/"); // does not work
//myDatabaseReference = FirebaseDatabase.getInstance().getReference("/productA"); // does work
...
myDatabaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
Iterable<DataSnapshot> snapshotIterator = dataSnapshot.getChildren();
Iterator<DataSnapshot> iterator = snapshotIterator.iterator();
while ((iterator.hasNext())) {
Object node= iterator.next();
String NodeKey = ((DataSnapshot) node).getKey();
Object NodeValue = ((DataSnapshot) node).getValue();
// dosomething
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
ItemList.add(databaseError.getMessage());
}
});
onDataChange должен запускаться, когда корневой узел указан в getReference
Данныепохоже на .
повторы симулятора и