我正在设置Firebase数据库,但不断收到权限拒绝错误,该错误可能源于以下代码:
void _initDatabase() async {
await fbDatabase.init(database);
_counterSubscription = fbDatabase.counterRef.onValue.listen((Event event) {
setState(() {
fbDatabase.error = null;
fbDatabase.counter = event.snapshot.value ?? 0;
});
},
onError: (Object o) {
final DatabaseError error = o;
setState(() {
fbDatabase.error = error;
});
}
);
}
这是初始化函数:
Future<Null> init(FirebaseDatabase database) async {
counterRef = FirebaseDatabase.instance.reference().child('test/counter');
counterRef.keepSynced(true);
database.setPersistenceEnabled(true);
database.setPersistenceCacheSizeBytes(10000000);
print('init complete');
}
注意:我也尝试将其作为空值,但我想等待它以确保一切完成。
这是我看到的错误:
I/flutter ( 7847): init complete
W/SyncTree( 7847): Listen at /test/counter failed: DatabaseError: Permission denied
这些是我数据库中的规则:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write;
}
}
}
奇怪的是,我已经连接到Firebase存储,所以我知道我已经通过身份验证,并且我的规则已设置为从理论上讲任何人都应该能够读写。我在android / app位置下有json文件,目前我想不起其他任何事情。
有人知道如何解决此问题吗?
谢谢
山姆