0

I added Firebase core to the Flutter app. And initialize like below.

Here is the code and error image is attached below. Main file where run app happens.

#Main.dart

import 'package:flutter/material.dart';
import 'package:mrcci_ec/wrapper.dart';

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

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'MRCCI Executives',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
        accentColor: Colors.teal,
      ),
      home: Wrapper(),
    );
  }
}

Lookfor wherther user is authenticated or not. based on that user will be route to home or login page. #Wrapper.dart

import 'package:flutter/material.dart';
import 'package:mrcci_ec/pages/authentication/authenticate.dart';
import 'package:mrcci_ec/pages/home.dart';

class Wrapper extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    //return either Home or Authenticate widget
    return Authenticate();
  }
}

Authenatication file.

#Authenticate.dart

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:mrcci_ec/pages/authentication/signIn.dart';
import 'package:mrcci_ec/pages/home.dart';

class Authenticate extends StatefulWidget {
  @override
  _AuthenticateState createState() => _AuthenticateState();
}

class _AuthenticateState extends State<Authenticate> {
  @override
  void initState() {
    // TODO: implement initState
    super.initState();
    Firebase.initializeApp().whenComplete(() => print('Initialized Complete'));
  }

  @override
  Widget build(BuildContext context) {
    return Container(
      child: SignIn(),
    );
  }
}

Where Firebase is setup up.

#FirebaseAuth.dart

import 'package:firebase_auth/firebase_auth.dart';

class AuthService {
  final FirebaseAuth _auth = FirebaseAuth.instance;

  Future SignInAuto() async {
    try {
      UserCredential result = await _auth.signInAnonymously();
      User user = result.user;
      return user;
    } catch (err) {
      print(err.toString());
      return null;
    }
  }
}

Actually error happens in this SignIn.dart.

#SignIn.dart

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:mrcci_ec/services/firebase_auth.dart';

class SignIn extends StatefulWidget {
  @override
  _SignInState createState() => _SignInState();
}

class _SignInState extends State<SignIn> {
  @override
  void initState() {
    print('Got into signin');
    // TODO: implement initState

    super.initState();
  }

  final AuthService _auth = AuthService();

  @override
  void dispose() {
    // TODO: implement dispose
    super.dispose();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Colors.tealAccent,
      appBar: AppBar(
        backgroundColor: Colors.teal,
        elevation: 0.0,
        title: Text('Sign in to MRCCI EC'),
      ),
      body: Column(
        children: [
          Padding(
            padding: const EdgeInsets.all(20.0),
            child: Container(
              child: MaterialButton(
                child: Text('Sign In'),
                onPressed: () async {
                  dynamic result = await _auth.SignInAuto();
                  if (result != null) {
                    print('Signned in');
                    print(result);
                  } else {
                    print('Singnned Failed');
                  }
                },
                color: Colors.white,
              ),
            ),
          )
        ],
      ),
    );
  }
}

Error Image

Vikrant Agrahari
  • 133
  • 2
  • 11
  • 1
    You can check https://stackoverflow.com/questions/63492211/no-firebase-app-default-has-been-created-call-firebase-initializeapp-in link – p.k. Sep 22 '20 at 12:00
  • @p.k. I did the same thing... No error but the app runs and shows only white screen. Here is the screenshot. http://www.mediafire.com/file/qahslfzoqu6ekzf/Capture1.PNG/file – Vikrant Agrahari Sep 22 '20 at 13:24
  • 1
    it shows you have not added google-service.json file of connected firebase project in your project. Have you check that? – p.k. Sep 23 '20 at 05:21

0 Answers0