large Flutter Favorite logosmall Flutter Favorite logo

firebase_core 0.5.2+1 icon indicating copy to clipboard operation
firebase_core: ^0.5.2+1 copied to clipboard


Flutter plugin for Firebase Core, enabling connecting to multiple Firebase apps.


// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// ignore_for_file: public_member_api_docs

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  final String name = 'foo';
  final FirebaseOptions firebaseOptions = const FirebaseOptions(
    appId: '1:448618578101:ios:0b650370bb29e29cac3efc',
    apiKey: 'AIzaSyAgUhHU8wSJgO5MVNy95tMT07NEjzMOfz0',
    projectId: 'react-native-firebase-testing',
    messagingSenderId: '448618578101',

  Future<void> initializeDefault() async {
    FirebaseApp app = await Firebase.initializeApp();
    assert(app != null);
    print('Initialized default app $app');

  Future<void> initializeSecondary() async {
    FirebaseApp app =
        await Firebase.initializeApp(name: name, options: firebaseOptions);

    assert(app != null);
    print('Initialized $app');

  void apps() {
    final List<FirebaseApp> apps = Firebase.apps;
    print('Currently initialized apps: $apps');

  void options() {
    final FirebaseApp app =;
    final FirebaseOptions options = app?.options;
    print('Current options for app $name: $options');

  Future<void> delete() async {
    final FirebaseApp app =;
    await app?.delete();
    print('App $name deleted');

  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Firebase Core example app'),
        body: Padding(
          padding: const EdgeInsets.all(20.0),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.spaceAround,
            crossAxisAlignment: CrossAxisAlignment.stretch,
            children: <Widget>[
                  onPressed: initializeDefault,
                  child: const Text('Initialize default app')),
                  onPressed: initializeSecondary,
                  child: const Text('Initialize secondary app')),
              RaisedButton(onPressed: apps, child: const Text('Get apps')),
                  onPressed: options, child: const Text('List options')),
              RaisedButton(onPressed: delete, child: const Text('Delete app')),