该服务目前不可用 | Firebase cloud_firestore 问题

Posted

技术标签:

【中文标题】该服务目前不可用 | Firebase cloud_firestore 问题【英文标题】:The service is currently unavailable | Firebase cloud_firestore issue 【发布时间】:2021-12-24 15:40:27 【问题描述】:

当我在我的 android 设备上尝试 Firebase Firestore 时,出现以下错误。

[cloud_firestore/unavailable] 该服务当前不可用。 这很可能是一种瞬态条件,可以通过以下方式纠正 使用退避重试。

当我尝试使用模拟器甚至相同的代码时,不会发生这种情况。

我在做什么

firebase 软件包的更新版本。

  firebase_core: ^1.10.0
  firebase_auth: ^3.1.4
  cloud_firestore: ^3.1.0

使用FutureBuilder 获取字段。

在我的StatefulWidget;

  @override
  Widget build(BuildContext context) 
    myInterstitial.load();
    return FutureBuilder(
        future: FirebaseFirestore.instance
            .collection("users")
            .doc(FirebaseAuth.instance.currentUser!.uid)
            .get(),
        builder:
            (BuildContext context, AsyncSnapshot<DocumentSnapshot> snapshot) 
          if (snapshot.hasError) 
            return Text(snapshot.error.toString());
          

          if (snapshot.hasData && !snapshot.data!.exists) 
            FirebaseAuth.instance.signOut();
            return const Text("Document does not exist ");
          

          if (snapshot.connectionState == ConnectionState.done) 
           .............

我不知道为什么,但snapshot.hasError 总是true,而snapshot.error.toString() 在上面返回错误。

我没有更改任何代码,但它可以在模拟器上运行。但是构建(使用 $ flutter build appbundle --no-sound-null-safety$ flutter build apk --no-sound-null-safety 和 '$ flutter run --no-sound-null-safety' 构建)效果并不好。

最大的谜团是在模拟器中一切正常。

我该如何解决这个问题?

颤振医生-v

    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 400608f101 (8 weeks ago), 2021-09-15 15:50:26 -0700
    • Engine revision 1d521d89d8
    • Dart version 2.15.0 (build 2.15.0-82.2.beta)

[√] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at D:\Android
    • Platform android-31, build-tools 29.0.3
    • Java binary at: D:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)
    • All Android licenses accepted.

[√] Chrome - develop for the web
    • Chrome at C:\Program Files\Google\Chrome\Application\chrome.exe

[√] Android Studio (version 4.2)
    • Android Studio at D:\Program Files\Android\Android Studio
    • Flutter plugin can be installed from:
       https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
       https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.8+10-b944.6842174)

[√] VS Code (version 1.62.2)
    • VS Code at C:\Users\yukik\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.28.0

[√] Connected device (4 available)
    • Pixel 5a (mobile)                  • 16121JECB02429 • android-arm64  • Android 12 (API 31)
    • Android SDK built for x86 (mobile) • emulator-5554  • android-x86    • Android 10 (API 29) (emulator)
    • Chrome (web)                       • chrome         • web-javascript • Google Chrome 95.0.4638.69
    • Edge (web)                         • edge           • web-javascript • Microsoft Edge 95.0.1020.44

• No issues found!

【问题讨论】:

在 Google 服务中使用 Android 映像;我也投了反对票,因为“我在做什么”没有一行代码,这使得问题无法重现(尽管有根据的猜测可能已经回答了它)。 【参考方案1】:

我最近在一个带有 Android 模拟器的 React Native 项目中经历了这个。

唯一解决的问题是删除模拟器设备并创建另一个。

【讨论】:

这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review 但这值得做

以上是关于该服务目前不可用 | Firebase cloud_firestore 问题的主要内容,如果未能解决你的问题,请参考以下文章

Firebase Cloud Firestore 在 asia-south1(孟买)不可用?

在 Firebase 中使用 Google Cloud 功能接收电子邮件

在 Google Cloud 中使用 Laravel 8 的 Docker 容器的 503“服务不可用”

具有 Cloud Functions for Firebase 的自定义观察者

在 HTTPS 可调用的 Firebase Cloud Functions 中,错误代码的名称是不是在 iOS 中可用?

该服务目前不可用 Google api