【问题标题】:Cannot upload to Firebase Storage using Flutter Mobile无法使用 Flutter Mobile 上传到 Firebase 存储
【发布时间】:2021-08-29 13:45:41
【问题描述】:

我是 Flutter 的新手,我一直在尝试将图像从 Flutter 应用上传到 Firebase 存储。它总是抛出相同的异常:

W/ExponenentialBackoff( 1185): network unavailable, sleeping.
W/StorageUtil( 1185): Error getting App Check token; using placeholder token instead. Error: com.google.firebase.FirebaseException: 16:

我已经将我的 Firebase 控制台连接到我的 Flutter 应用程序。我的 Firestore 正在运行,但 Cloud Storage 除外。我相信这是因为需要使用 recaptcha 密钥配置 App Check 才能在 Firebase.initializeApp() 下的“main.dart”中运行,正如 FlutterFire 专门指示的那样: https://firebase.flutter.dev/docs/app-check/usage#activating-the-default-provider

  await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'recaptcha-v3-site-key');
  

问题是,我不知道在哪里可以从我的 Firebase 控制台找到该 recaptcha 密钥或如何设置它。我尝试在我的 Firebase 项目中插入 WEB API KEY,但它仍然无法正常工作。有人可以帮忙吗?

【问题讨论】:

  • 问题解决了吗?
  • 没有。我的问题不在 firebaseappcheck 上,只是我的互联网连接使用了不同的代理。

标签: flutter google-cloud-firestore firebase-storage firebase-app-check


【解决方案1】:

下面是根据documentation获取webRecaptchaSiteKey的步骤:

  1. Add Firebase to your JavaScript project 如果您还没有这样做的话。

  2. Register your site for reCAPTCHA v3 并获取您的 reCAPTCHA v3 站点密钥和密钥。

  3. 在 Firebase 控制台的 Project Settings > App Check 部分注册您的应用以使用 reCAPTCHA 提供程序使用 App Check。你 需要提供您在上一步中获得的密钥。

执行这些步骤后,您可以从第 2 步传递站点密钥(公钥),例如“abcdefghijklmnopqrstuvwxy-1234567890abcd”,并按如下方式使用它:

  await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'abcdefghijklmnopqrstuvwxy-1234567890abcd');

【讨论】:

  • 我忘了说,我的应用不是网络应用。如果在移动开发中,我将注册什么“网站”?
  • 这是官方文档,应该可以解决你的疑惑,移动端开发:firebase.flutter.dev/docs/app-check/usage
猜你喜欢
  • 2021-09-19
  • 2021-07-28
  • 2020-11-20
  • 2018-10-24
  • 2019-01-22
  • 2020-03-05
  • 1970-01-01
  • 2019-01-20
相关资源
最近更新 更多