我无法从我的 flutter 项目访问我的 firebase/firecloud 数据。我得到:无法到达 Cloud Firestore 后端。连接失败1次

I cannot access my firebase/firecloud data from my flutter project. I get: Could not reach Cloud Firestore backend. Connection failed 1 times

我已经坚持了好几天了,我很难从我的 flutter 项目访问我的 firebase 数据库。 我已按照所有说明将 firebase 添加到 flutter 上的 android 应用程序,并尝试了网上的许多建议解决方案,但我仍然卡住了。 我希望有人会耐心或友善地帮助我。 我已将所有必要的片段放在下面。

我的依赖关系

    dependencies:
      flutter:
        sdk: flutter
      google_maps_flutter: ^2.0.6
      proj4dart: ^2.0.0
      location: ^4.2.0
      cloud_firestore: ^2.5.1
      firebase_core: ^1.6.0

我的进口商品

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';

我的 firestore 结构

我从 firestore 检索数据的函数

  Future getControls() async{
      await Firebase.initializeApp();

    FirebaseFirestore firestoreInstance = FirebaseFirestore.instance;

    QuerySnapshot data =  await firestoreInstance.collection('Controls').get();

  }

收到错误

我的google服务JSON文件

我的 Buld.gradle 文件

**

I may not be doing it right, or there is something I'm missing. Can someone please help me out .... mmmhh. Thanks in Advance

**

  1. 首先在您的依赖项中包含 firebase_core firebase_core: ^1.3.0
  2. 您发送的屏幕截图是 firebase 实时数据库 (rtdb)。但是您要达到的是云火炉。您是否设置了 Cloud Firestore?通过转到 firebase console 并单击左侧的 Cloud firestore 进行确认。检查它是否已设置以及 'controls' 集合中是否有任何数据。
  3. 转到您发布的 'errors screenshot' 中给出的 link 并启用 cloud firestore api。

注意:Cloud firestore 和实时数据库是 2 个不同的 firebase 数据库。您可以访问此 link 以了解它们的差异并决定使用哪一个。

按照@Peter O 上面列出的说明进行操作后。

我更改了我的云 Firestore 的规则如下:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
            allow read, write;

   }
  }
}

这解决了“权限被拒绝的问题”