We need to remove an app from our Firebase project, which seems easy, but I am curious if anything will happen in the Android app that's associated with the Firebase app?
Basically, if the Android app is making Firebase pushes, and no corresponding Firebase ID exists anymore, will the Android app have any issues, or will Firebase gracefully handle it?
It will not effect to the other apps. For example, if you have 2 apps A & B. You remove A, then B still work. But, the app A will not be supported by the current Firebase project anymore.
If you create another new Firebase project for A. Then, the below flow you should do.
Update new google-services.json file for A.
Make a force update version to make sure that the old version of A will be ended.
Publish new version of A.
Related
We are going to do a major update to an mobile app (both iOS and Android). When we do this update, we need to prevent the existing user using the older version anymore (in case if the new version is not auto updated) as some features might not work with the server update.
Is there any options in iOS and Andorid developer centers (for that app info) to mark that older version as cannot be used any more or to atleaset notify the users that they have to install the latest version when they try to use that app(incase they have switched off auto updates)
I have seen there are options to do it from the code by comparing it with the existing version and to notify the user. But since we have not implemented any such mechanism in our apps which is currently in the App stores, I don't think we can do the code based option for this version. That's why we are looking for other options like doing it though App store confugration etc..
Unfortunately, there is no solid solution for this issue.
One workaround if your app make any API calls, you can modify the response to let user know whey need to update the app. Or else, perhaps you can send a push notification to let existing user know they need to update the app.
Futhermore, you might need to implement force update mechanism, which is basically check user's current version with your latest app version, so you will know which version they are currently using. There are a few ways to do this:
Server side: You need to send app version to server and if it is not latest version, stop user and force user to go to AppStore/Playstore to update.
If you are using Firebase, you can take a look at Firebase Remote Config. I have not used it but I believe it would work.
I need to change Firebase Project of production app with google authentication.
My app is working with a firebase project and a backend server from which I can force users to update my app to the latest version after login with version the user has. Because of that, I hope I can change the Firebase project where I do the authentication with Google.
I can't use old pair Package Name / SHA-1 in new Firebase project, but I can use old package name with NEW SHA-1, right?
So, users with old versions will login with old firebase project and after upgrade my app they will login with with new firebase project, right?
If so, users won't need to uninstall my app, right?
Now, how can I change the SHA-1 in Android Studio?
What I understand you are trying to do is the following.
You want to associate your app to new firebase project
You want to keep you old user base intact.
You have asked if you can change the SHA-1 of the app the answer is no without changing the signature of the app that could change everything and is not an option.
What you could do instead is use two different firebase projects in a single app and write your own logic to manage the users. You can follow this link https://firebase.googleblog.com/2016/12/working-with-multiple-firebase-projects-in-an-android-app.html here the author has explained how to go about it. you can also look up for similar solutions or arounds for the problem. Hope this helps in some way and please try to make you questions precise.
Correct me if I understood your need wrongly!
You have users and want to sign them in to a new firebase project with interrupting your current users?!
I believe what you need to use is the custom Firebase authentication
whenever the user logs in, you produce a token in you current project and pass it on to the new project.
As for:
backend server from which I can force users to update my app
you can also achieve this in firebase, hopefully the backend server is not just for this!
I'm introducing dynamic features in my Android app and want to know the scenario if I upload a new version to the store that contains updates in the dynamic feature module ONLY? Will all the users see that there is an update? Or will only the ones that have the dynamic feature installed see it?
Giving an example to make sure the question is clear.
Let's say the app has dynamic feature D. User A has the app installed and the dynamic feature D installed as well. User B has the app installed WITHOUT dynamic feature D. If the app developer uploades an update to the store that only has updates in the dynamic feature part. Will user B see that there's an update in the app?
You will upload a new .aab file for a new version of your app.
This is always the full application.
The Play Store decides what to deliver to the user via delta updates.
But there's no way for you as developer to only flag a single module for update.
Your question is pretty simple.All the users who have installed the app from playstore will see that a new update is available for download and it is there choice if they download it.
I have an Android app which uses Firebase Auth, and while fixing some issues I had, I noticed that there is no need to add the file google-services.json to the project.
My issue was the following. I perform a sign-in via Google Sign-In, and in the GSO (Google Sign-In Options) I specify
gsob.requestIdToken(".....apps.googleusercontent.com");
gsob.requestEmail();
because I want an idToken which I then can pass to the Firebase SDK in order to sign the user into Firebase (I'm using it this way for historical reasons).
It had stopped working which was the reason why I was meddling around with the google-services.json file, since I had deleted a Client-ID in console.developers.google.com and thought I made a mistake.
While being at removing stuff, I also removed an entry
<meta-data android:name="identitytoolkit.server_client_id" android:value="....apps.googleusercontent.com" />
and some more identitytoolkit metadata entries from the Manifest.
In the end the only thing that would matter was that the correct client-id is passed to gsob.requestIdToken(".....apps.googleusercontent.com");
I'm not sure if Google had some hiccups with the idTokens between Google Sing-In and Firebase during these last two days, but in the end I think I really didn't change anything to make it work again.
So the last couple of minutes I was reading through the Firebase documentation, and read that there are now two options for adding Firebase to an Android app, one is the one I used before, and then there's a new option to use the Firebase Assistant.
I never used the Firebase Assistant, but am wondering if it has been enabled automatically in my app (I never clicked "Click Connect to Firebase to register your app with an existing or new Firebase project and to automatically add the necessary files and code to your Android project.")
How can I find out if something in Android Studio has been altered to add my Firebase configuration automatically? Where do I know which client-id's it's using?
I'm asking because even the email-based authentication with Firebase (which is not using Google Sign-In explicitly) is working in the app, and there are is no json file or other client-id's in the Manifest or in the code which could be used for this.
Nothing has changed in the setup instructions. You either need to have the Play services plugin and google-server.json present, or you need to duplicate its work manually. The only ways to manually duplicate its work are to add the specific string resources to your app that it requires, or call initalizeApp with your specific settings. There are currently no alternatives.
I am maintaining a website where people can customize an Android application and download as an apk file.
I need to implement push notifications. I had it implemented in Google Cloud Messaging before. But I am moving to Firebase now.
The problem is that Firebase is configured with specific application ids through google-services.json configuration file. But I need it to run with automatically generated application ids.
I have already tried to change the id in the configuration file. It compiles, but notifications are not delivered.
Please, can anyone tell me if there is a way to make it work?
Edit:
I don't see how my question is related to an Android Datepicker question with nothing to do with Firebase.
There is only one way, you need always create new android app per every unique app id in firebase console. Then download and build new app instance with generated 'json'. Unfortunately, firebase does not provide any API for automatization this, and you have to do it manually every time.