当前位置: 首页 > 知识库问答 >
问题:

Flutter中的初学者试图使用FireBase身份验证

毕衡
2023-03-14

所以我真的只是在尝试适应firebase,所以我在我的应用程序中要做的第一件事就是匿名认证。使用以下代码,我收到错误“[核心/无应用]未创建Firebase应用程序“[默认值]”-调用Firebase.initializeApp()

这是我的主要

void main() async {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Wrapper(),
    );
  }
}

这是登录屏幕,我第一次尝试使用firebase。

class SignIn extends StatefulWidget {
  const SignIn({Key? key}) : super(key: key);

  @override
  _SignInState createState() => _SignInState();
  }


class _SignInState extends State<SignIn> {

  final AuthService _auth = AuthService();

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.green[100],
      appBar: AppBar(
        title: Text('Sign In'),
        backgroundColor: Colors.green[500],
      ),
      body: Container(
        padding: EdgeInsets.symmetric(vertical:20.0 , horizontal:50.0,),
        child: ElevatedButton(
          child: Text('Sign In'),
          onPressed: () async{
            dynamic result = await _auth.signInAnon();
            if(result == null) {
              print ('failed');}
              else{
                print('Success');
                print(result);
            }
          },
        ),
      ),
    );
  }
}

以及我使用signInAnon()的auth类。

class AuthService {

  final FirebaseAuth _auth = FirebaseAuth.instance;

  //login anon
  Future signInAnon() async{
    try{
     UserCredential result =  _auth.signInAnonymously() as UserCredential;
     User user = result.user as User;
     return user;
    } catch(e){
        print(e.toString());
        return null;
    }
  }
}

我在关注大约2年前的youtube课程表,所以我知道firebase发生了变化,但最近这里出现了一些相同错误的问题,这些问题已经解决了,主要是通过更改代码来解决的:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
   runApp(const MyApp());
}

更改后,应用程序将显示一个白色屏幕,控制台显示它有一个错误:

正在将文件同步到为x86构建的Android SDK设备。。。

E/flatter(15860):[错误:flatter/lib/ui/ui\u dart\u state.cc(209)]未处理的异常:[核心/未初始化]Firebase未正确初始化。

e/颤振(15860):

E/flatter(15860):通常这意味着您在调用Firebase之前尝试使用Firebase服务。初始化AP。

e/颤振(15860):

E/颤振(15860):查看文档以了解更多信息:https://firebase.flutter.dev/docs/overview#initialization

e/颤振(15860):

E/颤振(15860):#0方法通道火基。初始化EAPP(包:firebase\u core\u platform\u interface/src/method\u channel/method\u channel\u firebase。dart:99:9)

E/颤振(15860):

E/颤振(15860):#1火基。初始化EAPP(包:firebase\u core/src/firebase.dart:42:31)

E/颤振(15860):

E/flutter(15860):#2 main(封装:order_beer/main.dart:10:3)

E/颤振(15860):

e/颤振(15860):

如果有人能帮我!

共有2个答案

邹开畅
2023-03-14

我不确定是否是这样,但对于您的主要功能,请尝试将其写成

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(const MyApp());
}
姚星宇
2023-03-14

包裹<代码>等待Firebase。initializeApp() 在这样的try-catch块中:

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
   try{
    await Firebase.initializeApp();
   }catch(e){print(e);}
   runApp(const MyApp());
}
 类似资料:
  • 电话身份验证失败,出现以下异常: PlatformException(ERROR_SESSION_EXPIRED,sms代码已过期。请重新发送验证码重试。,null) 但如果我使用的电话号码不同于我的电话号码,它就会起作用。我从play store中添加了SHA-1和SHA-256指纹到firebase,并替换了google-services.json。 这是我的代码:

  • 这是关于Flutter Firebase认证插件。< br >我试图在创建新用户后发送验证电子邮件,但sendEmailVerification()在内部使用currentUser()。这在我看来像是一个bug,但为了以防万一,我向stackoverflow提出了一个问题。错误在Android和IOS上是一样的。< br > 前两行返回Firebase User。第三个返回null。第四,如果第三

  • 我不知道如何开玩笑模拟Firebase身份验证与谷歌登录正确。我有以下代码: 易于理解的tsx 易于理解的测验tsx 如有任何帮助,请举例说明?

  • 我正在开发一个简单的API来处理Firebase所做的认证——稍后用于Android客户端。 因此,在Firebase控制台中,我启用了Facebook和Google登录方法并创建了一个示例html页面,我可以使用它来测试登录方法-下一个函数由按钮调用: 接下来,我使用令牌,并通过jQuery的一个简单ajax调用将它发送到我的API: 下一站:API后端。网芯。 在启动下,我配置了 JwtBea

  • 我一直很难找到Google Firebase身份验证背后的SLA。根据托管和实时数据库的服务水平协议,Firebase的每月正常运行时间百分比应至少达到99.95%。它是否适用于身份验证服务?

  • 该应用程序应该接受用户电子邮件和密码,并使用Firebase身份验证作为后端。我使用像素2作为模拟器。每次应用程序处理登录功能时,它都会崩溃。 下面是Java文件和gradle文件 Java文件: