I know the question is rather trivial and stupid, but I really need a solid confirmation.
The only things that matter for firebase + flutter are: SHA-1, google-services.json file, application ID and dependencies?
Suppose I added a debug and signed SHAs to the firebase, added a json file to the project, and then compiled the signed release and published it on Google Play. So after this, if I continue to create signed versions of the same application for testing, will they still connect to the firebase in the same way and will not affect the main version? Therefore, no matter in what quantities or versions they should all work, if the contents of json are the same and they have the same identifier?
Related
I am using firebase CLI to initialize a local firebase project directory from an existing firebase project. This existing project does have firestore with 100% certainty (there is tonnes of data in it). It is definitely firestore and not real time db.
I am running..
firebase init firestore
Then I pick the existing project from the list, and I get...
Error: It looks like you haven't used Cloud Firestore in this project before. Go to https://console.firebase.google.com/project/some-project/firestore to create your Cloud Firestore database.
Is there potentially a permission issue here?
I came here looking for the answer to this question and whilst your issue may be different, I found that I had no default resource location set for my firebase project.
In the firebase console go to cog icon > project settings > general. the fourth option down is 'Default GCP resource location'. This was not set, so editing it (pencil icon) and clicking done (There was only one option for me) fixed the issue.
Discussion around this topic can be found here: https://github.com/firebase/firebase-tools/issues/4254#issuecomment-1310619259
I am using firebase with my android and iOS app.
My android app got removed from play store once (had to be 18+, it was 16+, don't know why they deleted it, its a joke app and no nudity or brutality is shown :D). Now many users have the old version which will receive no updates anymore. We managed to get many users to change to the new app (uploaded with different package name, everything else is the same)
I want to remove the old version from firebase. It uses old code and will not receive updates.
QUESTION
If I remove the old app from the project, will users still be able to connect to my firebase?
My hope is that they won't be able and will remove the old app (and maybe look up the new one as a reaction)
Will it make anything unexpected? I did not find anything about it despite that I lose the analytics.
As I cannot update the old app there is probably no other way to remove it.
To connect to the Realtime Database from an Android or iOS app, all the app needs to know if the URL of that Realtime Database. So no matter if there's an app registration in the Firebase project or not, if the code has the right URL it can connect.
I have upgraded my project from Firebase sdk version 5.4.4 to Firebase Sdk version 6.8.0, in unity version 2018.4.14f1. I have imported all necessary "dotnet3" unity packages into my project and taken a build and i get an error "This app is not authorized to use Firebase Authentication. Please verify that the correct package name and SHA-1 are configured in the Firebase Console. [App validation failed ]".
I have then generated "SHA-1" for my keystore again and added fingerprint in firebase console, tried changing project from "dotnet3" to "dotnet4" and imported all necessary "dotnet4" firebase sdk packages. Still i get the same error and i made sure package name, SHA-1 code are all correct and added, even then im facing issues regarding that.
Please help me regarding this issue, if my methods are wrong or is this an open issue with sdk version 6.8.0.
This sounds like you need to re-upload your SHA 1 for Android development.
The easiest way to do this is to use the keytool command installed with Java:
keytool -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore
The password for your debug keystore will be android, but if you're doing a signed release build (say for the Play Store), you'll want to use the appropriate keystore and credentials.
You then need to copy/paste the SHA-1 into the "SHA certificate fingerprint" field under project settings.
There is another great stack overflow answer here, but it is very Android Studio centric (you may not have it installed when developing in Unity).
I cover this at about the 5:12 mark of my getting started video if you'd prefer video instructions.
A few pro-tips before I go:
The Android debug keystore is randomly generated on each developer's machine the first time they build and deploy a debug application for Android. This means that you'll probably want each developer to upload their SHA-1 whose working on Firebase features (alternatively, each developer may want to setup their own Firebase sandbox for development purposes).
The combination of SHA-1 and your package name are what's used to identify which Firebase backend your game will use, so this could also be an effective mechanism to deploy separate staging and production backends.
dotnet4 should be used in most cases now (although Unity 2018 still lets you choose between 3 and 4). Generally, if you've chosen the wrong one the error you'll see is around Task. This is because Task didn't ship with the original version of C# that Unity used, so Firebase uses a library called Parse to retroactively add it (and make the API comparable to the Android and iOS counterparts). In .NET 4.x and higher, this means that you have two versions of Task included which will cause issues. The dotnet4 version of Firebase simply remaps any Parse specific functionality onto C#'s Task and uses the one that ships with Unity.
I hope this helps (and I hope that I properly identified the issue)
--Patrick
Anyone knows why the google-services.json for a particular app when downloaded from the console contains details related to other unconnected apps that a developer might have in their firebase account? It makes no sense to list them all in this json used by a totally unrelated app. What's the reasoning behind Google/Firebase doing so and if and how the json can be cleaned up to just have only the data needed for the relevant app?
That's just the way it works. The multiple apps in that file correspond to the multiple apps that you added to the Firebase project.
The idea with putting them all in the same file is that you can use that one file in each of your app builds that are tied to the same project. On Android, sometimes developers have multiple flavors of app builds, each one with a different application ID. In that case, the Firebase plugin will select the correct app from the json with no additional work required.
Having more apps in the file doesn't hurt your build at all. As I mentioned, the gradle plugin will select the correct app from the list using its ID. The others are ignored. There is no need to clean anything up.
If you delete an app from your project using the Firebase console, you can download a new json, and that should no longer have the deleted app in it.
If you are having a specific problem or error that you think is related to the fact that multiple apps are listed, please file an issue with Firebase support, along with reproduction steps.
I use Firebase for an Android project and I have some data into a database. I want to know if there is any possibility to save/make a back up to the structure of data. I ask this because somehow, I deleted the project and I had to do all again.
If you just deleted your project, you may still be able to restore it from the Resources pending deletion page in the Google Cloud Platform console with the process shown here.
If that doesn't work, reach out to Firebase support to see if they can help you recover it.
Note that both of these are dependent on the time that has passed since you deleted the project, so time is of the essence.