Tob*_*sen 8 firebase flutter firebase-app-check
我正在尝试在 Android 版 Flutter 应用程序中实现 App Check,并遵循 flutterfire 文档。我已经完成了此处概述的安装部分: https: //firebase.flutter.dev/docs/app-check/overview 现在我正在按照此文档进行使用: https: //firebase.flutter.dev/docs/app-检查/使用
await FirebaseAppCheck.instance.activate(webRecaptchaSiteKey: 'recaptcha-v3-site-key');因此,我在调用初始化 firebase 之后将其添加到我的 Main 方法中。
现在我需要使用 App Check 启用调试,文档说我应该将此依赖项添加到我的 app/build.gradle 文件中:implementation 'com.google.firebase:firebase-appcheck-debug:16.0.0-beta01'并将以下代码片段添加到我的 MainActivity.java onCreate 方法中:
import com.google.firebase.appcheck.FirebaseAppCheck;
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(DebugAppCheckProviderFactory.getInstance());
Run Code Online (Sandbox Code Playgroud)
我尝试通过在项目根文件夹中使用以下命令创建 MainActivity.java 来做到这一点:flutter create -a java .
所以我的 MainActivity.java 看起来像这样:
import io.flutter.embedding.android.FlutterActivity;
import com.google.firebase.appcheck.FirebaseAppCheck;
public class MainActivity extends FlutterActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance());
}
}
Run Code Online (Sandbox Code Playgroud)
当尝试在调试模式下运行应用程序时,我收到此错误: Execution failed for task ':app:compileDebugJavaWithJavac'.
我缺少什么?看到其他帖子也有同样的问题,但没有解决。
小智 -2
这应该是你的main.dart
import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate();
}
Run Code Online (Sandbox Code Playgroud)
注意:await FirebaseAppCheck.instance.activate();没有适用webRecaptchaSiteKey: 'recaptcha-v3-site-key'于 Android/iOS 的应用程序
这应该是你的MainActivity.kt
package com.example.app // your package
import androidx.annotation.NonNull
import io.flutter.embedding.android.FlutterActivity
import io.flutter.embedding.engine.FlutterEngine
import io.flutter.plugin.common.MethodChannel
import com.google.firebase.FirebaseApp
import com.google.firebase.appcheck.FirebaseAppCheck
import com.google.firebase.appcheck.debug.DebugAppCheckProviderFactory
class MainActivity: FlutterActivity() {
private val CHANNEL = "samples.flutter.dev/example"
override fun configureFlutterEngine(@NonNull flutterEngine: FlutterEngine) {
super.configureFlutterEngine(flutterEngine)
MethodChannel(flutterEngine.dartExecutor.binaryMessenger, CHANNEL).setMethodCallHandler {
call, result ->
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
DebugAppCheckProviderFactory.getInstance()
)
}
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4380 次 |
| 最近记录: |