android - 该服务目前不可用 | Firebase cloud_firestore 问题
问题描述
当我在我的 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!
解决方案
我最近在一个带有 Android 模拟器的 React Native 项目中经历了这个。
唯一解决的问题是删除模拟器设备并创建另一个。
推荐阅读
- angular - Angular router.navigate 在 403 错误后无法正常工作
- snowflake-cloud-data-platform - 在存储过程中打印雪花查询
- dynamics-crm - 如何根据fetchXML中的实体查询不同属性的关键字?
- python - 从 zip 档案(zipfile)中解析内存中的 csv 文件
- reactjs - 反应上下文状态值未在消费者中更新
- c# - 是否有一个函数可以在 IF 命令中的 String 中创建 OR 函数
- reactjs - 我可以对 @spartacus 框架使用 react 吗?
- c++ - 附加一个空字符串 ostream 可防止进一步附加
- rust - 尽管有足够的信息,但仍需要类型注释
- python - 使用KIVY构建的Android App无法上网