Flutter 中来自 Firebase 的应用检查不起作用
Posted
技术标签:
【中文标题】Flutter 中来自 Firebase 的应用检查不起作用【英文标题】:App Check from Firebase in Flutter doesn't work 【发布时间】:2021-12-30 23:33:34 【问题描述】:我正在尝试将 Firebase 中的 App Check 与 Flutter 一起使用(目前仅在 android 上),但文档非常糟糕,我不明白当我尝试使用应用访问 Firebase 服务时遇到的错误检查令牌。
我使用以下命令通过终端在我的个人 Android 设备上运行我的应用程序:flutter run --no-sound-null-safety
。
我想使用该应用访问 Firebase Storage 上的数据。我已对该功能强制执行 App Check,我还为我的应用启用了 SafetyNet,并且我创建了一个名为“测试”的调试令牌,我什至不知道如何使用。
这是我得到的错误:
这是我的main()
函数:
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
void main() async
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate();
// ... not related code
runApp(MyWidget())
这是我在/android/app/
中的build.gradle
:
// ...
dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.google.firebase:firebase-appcheck-safetynet:16.0.0-beta03'
这是我在/android/app/src/main/kotlin/com/example/my_app/
中的MainActivity.kt
:
// the package
import io.flutter.embedding.android.FlutterActivity
import android.os.Bundle
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.safetynet.SafetyNetAppCheckProviderFactory
class MainActivity: FlutterActivity()
override fun onCreate(savedInstanceState: Bundle?)
FirebaseApp.initializeApp(/*context=*/ this);
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(SafetyNetAppCheckProviderFactory.getInstance())
super.onCreate(savedInstanceState)
请帮帮我,现在没有任何效果。
【问题讨论】:
【参考方案1】:FirebaseApp.initializeApp(/*context=*/ this);
你有一个分号,它是 Kotlin 代码;在 Kotlin 中,我们不使用分号。
【讨论】:
Kotlin 中的分号是可选的。它不是来自这个以上是关于Flutter 中来自 Firebase 的应用检查不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 中缓存来自 Firebase 的图像?
在 Flutter 中,如何使用 CachedNetworkImage 显示来自 Firebase 的离线图像?
Flutter & firebase:我怎么能做一个“只包含来自”的查询