Organizing Projects

As part of migrating to Firebase, you will need to change the way your apps are grouped. Fabric and Firebase organize apps differently, and this guide will help you best set up your apps in Firebase.

In Fabric, apps are grouped into organizations. Fabric organizations are used to establish dashboard access for your team and are separated by API key.

In Firebase, apps are organized into projects. Project user access and keys are similar to an organization in Fabric; however, projects in Firebase also share some data across multiple apps.

Examples of shared resources in Firebase:

  • Reporting across multiple apps in Analytics.
  • Shared user sets in Firebase Authentication.
  • Shared database in Firestore or Real Time Database.

A helpful way to think about Firebase projects is as a container or environment for your apps.

Please note:

  • Firebase limits the number of apps per project to around 20 depending on your billing tier.
  • Firebase tools have deep integrations with each other and if you want to share data across multiple apps, they should be in the same project.
  • After you create an app within a project, you cannot move it to a different project without losing your historical data.
  • Visit the Firebase documentation site to learn more.

In the Fabric to Firebase migration flow you’ll be presented with this screen that allows you to organize your Fabric apps into Firebase projects.

../../_images/linking-screen.png

Recommendations for how to set up your projects in Firebase

Scenario 1:

A Fabric organization that contains apps with different production variants. For example, a Fabric organization that has identical apps that only differ by language.

../../_images/scenario1.png

Solution: In this case, it makes sense to organize all the Fabric apps into one Firebase project so analytic reporting can be seen across the full user base.

Scenario 2:

A Fabric organization that contains apps for different environments. For example, a Fabric organization that has test, debug, and release environments for all apps.

../../_images/scenario2.png

Solution: To keep testing out of production analytics and to prevent other data crossover from Firebase products like Cloud Firestore, creating multiple Firebase projects for each environment is the recommended approach. Each project (environment) should contain your iOS and Android apps for that environment.

Scenario 3:

Multiple Fabric organizations that contain unrelated apps. For example, a company that has many clients with different apps, which are separated by different Fabric organizations.

../../_images/scenario3.png

Solution: Keep client data in separate Firebase projects; one for each customer will provide the best isolation.

If you have any questions about configuring your Firebase project, reach out to Fabric support at support@fabric.io.