我正在尝试在我的 Android 应用程序的 Flutter 项目中使用 Firebase 的 App Check,但像往常一样,我在使用 Google 时遇到了问题。
文档上说要将此代码添加到我们的Android代码中:
// kotlin code
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
所以很自然地,我像这样编辑我的/android/app/src/main/kotlin/com/example/my_app/MainActivity.kt
文件:
package fr.my_app.app
import io.flutter.embedding.android.FlutterActivity
import android.os.Bundle
import com.google.firebase.FirebaseApp
class MainActivity: FlutterActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
super.onCreate(savedInstanceState)
}
}
根据FlutterFire文档,我们必须添加一个包:
import com.google.firebase.appcheck.FirebaseAppCheck
问题开始了:
- Android Studio、VSC 和 IntelliJ IDEA 都检测到这个包。他们
appcheck
用红色突出显示这个词并说Unresolved reference: appcheck
。我知道这个包不存在。 - 结果,我在尝试使用以下命令构建应用程序时失败了
flutter run
:
blablabla\MainActivity.kt: Unresolved reference: DebugAppCheckProviderFactory
我的目标
在调试模式下使用 App Check 访问 Firebase 功能(仅限 Android)
笔记
- 我遵循了整个官方文档
- 我有我
build.gradle
最新的 - 我有我
pubspec.yaml
最新的 - 我的所有软件都是最新的
我做错了什么?
编辑
好的,我在这里找到了正确的包
现在又是一个问题!它应该在控制台中打印调试令牌,以便我将其添加到 Firebase 控制台中,但没有任何反应。我的意思是控制台中没有给出调试令牌,只有在尝试访问 Firebase 功能时出错:
E/StorageException(12120): { "error": { "code": 401, "message": "Firebase App Check token is invalid." }}
E/StorageException(12120): java.io.IOException: { "error": { "code": 401, "message": "Firebase App Check token is invalid." }}
E/StorageException(12120): at com.google.firebase.storage.network.NetworkRequest.parseResponse(NetworkRequest.java:445)
E/StorageException(12120): at com.google.firebase.storage.network.NetworkRequest.parseErrorResponse(NetworkRequest.java:462)
E/StorageException(12120): at com.google.firebase.storage.network.NetworkRequest.processResponseStream(NetworkRequest.java:453)
E/StorageException(12120): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:272)
E/StorageException(12120): at com.google.firebase.storage.network.NetworkRequest.performRequest(NetworkRequest.java:289)
E/StorageException(12120): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:76)
E/StorageException(12120): at com.google.firebase.storage.internal.ExponentialBackoffSender.sendWithExponentialBackoff(ExponentialBackoffSender.java:68)
E/StorageException(12120): at com.google.firebase.storage.ListTask.run(ListTask.java:65)
E/StorageException(12120): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
E/StorageException(12120): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
E/StorageException(12120): at java.lang.Thread.run(Thread.java:923)
我是唯一一个一直遇到 Firebase 问题的人吗?我在 StackOverflow 上问的所有问题都是关于这件事的。