randomUser786
randomUser786

Reputation: 1655

Flutter: How to add multiple Firebase projects to my Flutter project

I would simply like to know how to add multiple Firebase projects to my flutter app, because I have data in two separate projects.

Upvotes: 12

Views: 11551

Answers (3)

rombi03
rombi03

Reputation: 29

Steps which worked for me to add 2nd Firebase Project:

  • refactor the firebase_options.dart name.
  • in a console, run the flutterfire configure command to generate a second firebase_options.dart file (we choose the 2nd Firebase project we want to add)
  • Change the class name inside of the new file from DefaultFirebaseOptions to SecondaryFirebaseOptions

and then, after initializing the first FirebaseApp we can add:

await Firebase.initializeApp(options:SecondaryFirebaseOptions.currentPlatform, name: "secondary");
FirebaseApp secondaryApp = Firebase.app("secondary");
FirebaseFirestore firestore = FirebaseFirestore.instanceFor(app:secondaryApp);

Upvotes: 2

Doug Stevenson
Doug Stevenson

Reputation: 317322

You need to call FirebaseApp.configure() for each project that you want to add. This works the same as FirebaseApp.initializeApp() on other platforms, so you should be able to use their documentation if it's not self explanatory.

Upvotes: 3

AWhitford
AWhitford

Reputation: 3998

This code was able to make a connection to the Cloud Firestore:

  Future<Firestore> _connectFirestore() async {
    final FirebaseApp sharedApp = await FirebaseApp.configure(
      name: 'shared-project',
      options: FirebaseOptions(
        apiKey: 'blah-blah',
        googleAppID: 'blah-blah-blah',
        projectID: 'shared-project-id',
      ),
    );
    return Firestore(app: sharedApp);
  }

However, once I lock down the database to require authentication, now I get a PlatformException(Error 7, FIRFirestoreErrorDomain, Missing or insufficient permissions.). I am struggling to ensure that my Cloud Firestore requests are authenticated correctly.

Upvotes: 4

Related Questions