Use Firebase application for different flavors - android

I have a main package which called "project" and a flavor called "flavor"
The error " No matching client found for package name ..." occure when project tries to build and didn't find the project package name in google-services.json. In my case, "project.flavor" is missing which prevent project from building.
If i try to add ".flavor" manually in google-services.json file , project will build normally, and android app will start, but authentication with Firebase won't work.
Can we use same google-services.json file for different project flavors ?

I Finally found a solution.
For Firebase to work with flavor, i added new Firebase application using "FirebaseConsole" and put it's package to "project.flavor", added my generated SHA-1, then downloaded the .json file and imported it to my flavor package inside ANdroid Studio.
Works like a charm <3 <3 :D
Conclusion : Each project flavor needs it's own Firebase application, and it's own google-services.json

Related

No google-services.json but still fetching the remote config from my Firebase project

I was trying to change google-services.json file of new project from old one. So, I deleted the old one and pasted new json file in two places one by one to test.
app/
app/src
1 case didn't work, so, tried 2 case. But didn't work either. Both cases fetch config from the old project.
So, I deleted app completely in the project. And then tried. Still working!
And then, I deleted all google-services.json files in my laptop. And then tried. BUT STILL WORKING.
How can I solve this problem?
Invalidate cache & Restart Android Studio
OR
Delete app/build Directory from explorer or finder & Rebuild Project
I changed Firebase project (changed google-services.json in app folder). As Mayur Sojitra said,
remove app/build folder,
rebuild a project,
uninstall an application,
run the application.
After this new Firebase project properties have been fetched.
The above answers are correct but they are not covering all cases, in my case my Android Project Id was different from the one created inside the firebase project (why? because they have been created by two different persons xD).
SOLUTION:
open the google-services.json and change the package_name and bundle_id from the id they are coming with to your application package(can be found in the manifest or build.gradle files)

how to change the package name: com.apps.example.name_app to com.example.name_app

I want to change my package name: com.apps.example.name_app to com.example.name_app.
edit:
following the solution proposed by Mahendran Sakkarai in this post:
Is it possible to change the company domain name in android studio after creating the project?
all is well, but When I click rebuild button, or clean button, I get this error:
capture
update:
I knew later that this error has relation with the firebase,
the name on my google-services.json it should be same with my local.
To solve the problem:
1- I created a new project on firebase with the new Package name
2- I replaced the old google-services.json file with the new file provided by firebase
3- I clicked on "sync project with gradle files" .. and like that, my problem is solved

Firebase Unity Android: No google-services.json files found in your project

I am trying to add Firebase to my Unity project but somehow it keeps giving me an annoying error.
I've tried to use generate_xml_from_google_services_json.exe myself but that didn't fix the problem.
I also tried to edit the generate_xml_from_google_services_json.py python script to change the default location(which is set to a "normal" android app paths) but that didn't work either.
I followed the steps exactly from the Firebase docs and pasted the google-services.json fie in the root of the assets folder but it still gives me the following error:
No google-services.json files found in your project so it is not possible to
generate Firebase Android resources file google-services.xml.
Building without Firebase Android resources (google-services.xml) will result in an app that will fail to initialize.
To resolve this problem, follow the setup instructions at https://firebase.google.com/docs/unity/setup#setup_for_android
UnityEngine.Debug:LogError(Object)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:LogErrorIfEnabled(String)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:FindGoogleServicesFile(ConfigFileType, String, FindGoogleServicesFileMode, LogMessage, LogMessage)
Firebase.Editor.GenerateXmlFromGoogleServicesJson:ReadProjectFields()
Firebase.Editor.SettingsWindow:OnFocus()
UnityEditor.DockArea:OnEnable()
Did anyone had this error before(because I couldn't find anyone else with this problem) and how did you fix it?
Download a configuration file
Get a config file for your Android app
To download a config file for an Android app:
Sign in to Firebase and open your project. Click the Settings icon and
select Project settings. In the Your apps card, select the package
name of the app you need a config file for from the list. Click
google-services.json.
Add the SDK to your app
Add the GoogleService-Info.plist file to the project.
Navigate to the Assets folder in the Project window. Drag the
GoogleService-Info.plist downloaded from the Firebase console into the
folder. NOTE: GoogleService-Info.plist can be placed anywhere under
the Assets folder.

Error "File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it" [duplicate]

This question already has answers here:
File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it
(5 answers)
Closed 2 years ago.
I updated my project to the latest Play services classpath 'com.google.gms:google-services:1.5.0-beta2'. I am also using the latest version of playservices in my app.gradle file as:
compile 'com.google.android.gms:play-services-location:8.3.0'
compile 'com.google.android.gms:play-services-gcm:8.3.0'
However when I compile, Gradle throws exception as follows
Error:Execution failed for task ':app:processDebugGoogleServices'. > File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it.
You need to get the configuration file from the developer's site and paste it in the app level directory of your project.
Update:
Goto
https://console.firebase.google.com/
Select your project
On the left menu, click on settings > project settings
Add an app or download the google-services.json file under the Your Apps section.
Please go to this URL :
https://developers.google.com/mobile/add
Choose your Options and finally you will be able to download
google-service.json file
copy that file and paste it Into
YourProjectName/app Directory
Then recompile the project Most probably it will fly
In my case the project directory looks like this :
For anyone using Firebase you need to go into your console and there it should say "add project to Android". From there, it will step-by-step generate the google-services.json file for you.
I received this error while trying to run Google's Firebase analytics sample app:
Prerequisites:
Download https://github.com/firebase/quickstart-android
Add quickstart/analytics to Android Studio
Add Procedure:
Go to https://firebase.google.com/
Click on "GO TO CONSOLE"
Click on "Add Project"
Project name: Enter: sample-app
Click "Create Project"
[Takes about 10 seconds or so...]
Click "Continue"
On the "Getting Started" page, click "Add Firebase to your Android app"
Enter package name for the android app
[The full package name appears at the top of the manifest: "com.google.firebase.quickstart.analytics"]
Click on download google-services.json
In file explorer, add google-services.json to the directory:
"quickstart/analytics/app"
[Warning: Do not rename the file, it must be: google-services.json]
Run 'app'
The sample app already contains the necessary Gradle file settings.
When adding a new project do: Tools -> Firebase -> Analytics -> Add
Event -> Connect App to Firebase.
Adding a project via Android Studio ensures that all the Gradle Dependecies are setup.
Remove Procedure:
Go to https://firebase.google.com/
Click on "GO TO CONSOLE"
Settings -> Project Settings -> Delete this App
Settings -> Project Settings -> Delete Project
Enter project ID and press delete
I added and removed the sample app multiple times without any noticeable side effects.
in my case i have saved a json file with a space like this
google-services .json
and the right one is
google-services.json
and also take care you do not put (_) instead of (-)
may help some one.
If you don't need it anymore…
…\build.gradle:
classpath 'com.google.gms:google-services:3.2.0'
->
// classpath 'com.google.gms:google-services:3.2.0'
…\app\build.gradle:
apply plugin: 'com.google.gms.google-services'
->
// apply plugin: 'com.google.gms.google-services'
You must go on Firebase console-->Settings-->Project Settings and there will be section with Download the latest config file. Download google-service.json and put into app folder. It's work for me.
Links:
https://developers.google.com/identity/sign-in/android/start-integrating
https://developers.google.com/android/guides/client-auth
I just run into problem downloading google-services.json from Firebase console. Turns out I had to log out from all other google accounts than the one I was using for Firebase.
For Cordova Apps:
We need to place the google-services.json file in app root (I believe; when working with Cordova apps, we are not to get into other folders/files such as Gradle, Java files, platforms, etc; instead only work with them VIA the config.xml and www folder) and refer it in the config.xml like so:
<platform name="android">
<!-- Add this line -->
<resource-file src="google-services.json" target="app/google-services.json" />
</platform>
NOTE: Ensure that the Firebase App packagename is same as the id attribute in <widget id="<packagename>" ... > are same.
For ex:
<!-- config.xml of Cordova App -->
<widget id="com.appFactory.torchapp" ...>
<!--google-serivces.json from generated from Firebase console.-->
{
...
packagename: "com.appFactory.torchapp",
...
}
Good Luck...
In android studio:
switch to Project view so you can see the actual project folder structure.
find google-services.json file and drag it to the app directory (for some reason when I added it using file explorer, it put it in the gradle folder).
Clean/Rebuild project.
It worked fine for me from there.
https://developers.google.com/android/
you need to generate configuration file which gives you access to all the services and APIs you registered for in developer console and place it in your root directory
Go to the configuration file from the developer's site and paste it in the app level directory of your current project.
Very Simple
Just go to Tools->Firebase->Connect to firebase than click on sync now
THIS WILL SURELY WORK.
Go to Tools-->Firebase in your Android Studio and click on Connect your app to Firebase. They will set it up for you.
Easiest way to add google-service.json file
In Android Studio follow these steps:
Click Tools > Firebase to open the Assistant window.
Click to expand one of the listed features (for example, Analytics), then click the Get Started tutorial to connect to Firebase and add the necessary code to your app.
I had the same problem. The problem is because of renaming the file. You might have downloaded N number of google-services.json files in your downloads folder. So when you download a new file it will download with same name but by adding numeric values in brackets. something like google-services(1).json .So you have to delete this (1) and copy the file. Make sure when you are renaming it, there should not be any spaces or extra . in the name of the file.
If you don't have access to the Firebase of the project, for example, you downloaded an example source code then you have to remove any Firebase related stuff to make the project run.
Search keywords in the project
List item
fabric
firebase
google-services
crashlytics
Even after adding all the dependencies and the file if you face any such problem it could be your incorrect file name of "google-services.json".
Make sure you have the exact file name without any additional spaces or characters.
I had renamed the file and had space" " in my filename which was not noticeable, later I found that my file name is wrong, so fixed it!.
https://developers.google.com/mobile/add
select get started and go to settings logo and then project settings
after that you will see below the platform like web,android,ios . select that according to your preference.
and then download
google-service.json file
copy that file and paste it Into
YourProjec/app Directory
and then finally sync again .
That Problem is because:- The folder or file you pasted to your product downloaded from the firebase console is not named as google-services.json. so now click it then right mouse click in all the options open refractor and rename it to google-services.json. because this worked for me
Had faced same issue ..
well in my case i have saved
google-services.json
as
google_services.json
I tried every solution mentioned above but nothing helps...
the error was instead of "_" you need to put "-"(dash).
Just refactoring the file to google-services.json from google_services.json works like charm..
Hope this helps!!!
P.S. I know it's sound silly but this only works for me...
Steps:
Navigate to your project folder and open the /app sub-folder.
Paste the .json file here.
Rebuild the project.
for people coming here from the firebase codelabs tutorial step 3:go to page 4.
Apparently, if google says You should now have the android-start project open in Android Studio. ,She means it,and not You should now have the android-start project open in Android Studio, without any build-errors .
As the instruction says there, you have to get a configuration file from firebase. i.e , create a new project in your firebase acc with name 'friendly chat and in the next page , add its package name and SHA1 KEY.
after downloading the json file,add it to your project>app folder, and Rebuild project.

How to correctly rebuild my application after renaming package?

I've renamed my package name using Project -> Android Tools -> Rename Package. I've also cleaned my project and changed the config.xml widget ID to reflect the same name. When I try and run the simulator and/or my project in general, I get multiple Failed to load properties file for project. Is there anything I am missing changing my package name to correctly run my application? Thanks!
edit: I am receiving this error: The declared package "ca.treatfinder" does not match the expected package "com.treatfinder"
Just build it...In eclipse go to project->build and clean...when you want to rename sth you can use rightclick->refactor->rename...then theses issues won't come around

Categories

Resources