Hi Sam,
Thanks for the detailed response it is was really helpful. That is a comprehensive solution.
I am still learning the ins and outs of Firebase and this is the first time I have really pushed it.
You have all the Firebase products listed that I use.
BigQuery I only use with the BigQuery Firebase extension to export collections/documents from Firestore.
I also use the image resize extension.
I do use analytics also but not with BigQuery.
The mobile app I have is a hybrid app created with Ionic / Capacitor and built for Android / iOS.
This means I actually use the web Firebase App config to connect to firebase for most of the firebase products.
I believe the only product that uses the native Firebase app (google-services.json / GoogleService-Info.plist) is FCM as I went with the web analytics.
I tried it with your solution
One app multiple projects
This worked fine, however as I mentioned above I use the web config the only thing this actually affected was FCM.
FCM
This meant I had to send FCM messages from the new app specific project for that app.
I would actually prefer for FCM to use the central project too and just use a topic for each app as it works this way now, otherwise I would have to send a message from the central platform (admin panel) to FCM in the specific project.
Auth
You mention "Auth - when using auth there are a number of services where your project's name, support, email, etc will appear. If a user is using "Org Branded App Foo" and sees "Please Sign In to Flon App Bar" they will be confused and possibly scared off."
I believe this will only be for Auth password reset as this still uses the central project. This is not an issue for me.
I am not worried the users will get confused and will handle this in the UX, again not ideal but I can deal with it.
Would this show up for google sign-in too?
Firestore
Uses the central project. No issues here.
Analytics
I don't mind if these get all lumped together for the various apps. Not an issue for me at this stage.
Sure it would be better to have the analytics split out for each app but at this stage its not the end of the world if I don't.
So it looks like I could get away with not needing a separate Firebase App for every mobile app.
The only issue appears to be need to have a different appId for each app for the App and Play stores.
e.g. nz.co.myplatform.brandedtenant
I know it is not recommended but I am looking at finding a way to use a single Firebase App for each platform mobile app e.g 2 apps iOS and Android.
Perhaps I can just change the appId and leave everything else pointing to the central project.
For me I believe if I can do this the benefits would outweigh the potential issues as I would avoid having to set up a new project for each branded tenant.
If this does not work then I can create a new project for each app but initially I would just be doing this for the unique appId and FCM. I would look at adding analytics to this also.
Once I have done some more testing and analysis I will make a decision between these 2 methods -one project one App vs many projects many Apps.
What are your thoughts on this?
I am curious on the limit of 30 Apps vs making a new project for each app as far as how it affects Firebase.
Is there a technical reason that for doing this?
If I have 100 Apps in one project or 100 projects what is the difference to Firebase?
Just trying to understand.
Cheers,
Flon