I recently started playing with Firebase, but I cannot completely understand its relation with Google Play Services. I know that Firebase is a mobile platform, and on Android it is based on Google Play Services, but why there are some modules with the same name of the ones of Google Play Services?
For example, in my build.gradle I can have:
com.google.android.gms:play-services-auth:9.4.0
com.google.android.gms:play-services-ads:9.4.0
but also:
com.google.firebase:firebase-auth:9.4.0
com.google.firebase:firebase-ads:9.4.0
I see that on Firebase documentation there is the list of available components (and note that the last one is actually a Google Play Services module):
com.google.android.gms:play-services-appindexing:9.4.0
The same list for Google Play Services is much longer, so some modules are not available using only Firebase dependencies. Which dependencies should I use and why? Can I use mixed dependencies?
On this new Firebase (from May 18th), Google added a few existing services to it. Google Play Services already had features like: Analytics, AdMob, Test Lab, etc. And you could use them from your Google Developer Console.
But then, they decided to merge some of those features with firebase. This way, you can have all of the features "together" on your Firebase Console. They are now unified to give your users a better experience and to help you (as a developer) easily manage your project.
So, if you want to use firebase, you should use the firebase dependencies. The Google play dependencies are meant for projects created on the Google Developer Console.
Related
Is Google Play games services, 'Saved Games' feature deprecated?
On their website Saved Games is not listed as deprecated.
https://developers.google.com/games/services/android/savedgames
However when specifying the Drive scope in code, Android studio gives code hints saying the feature is deprecated and on the Google Drive API website, it states this feature is deprecated.
https://developers.google.com/drive/android
The website advices to migrate to the Drive REST API?
and that website advices to migrate to Firebase Cloud Firestore.
Clients requiring app data storage are strongly encouraged to migrate to a non-Drive solution such as Cloud Firestore.
Any clarity would be appreciated.
The Drive API was deprecated. I guess saved games internal implementation uses the Drive REST API now.
Replace Drive.SCOPE_APPFOLDER with new Scope(Scopes.DRIVE_APPFOLDER) to clear the Lint warning. If you'll check the internals you'll see they are the same.
I have removed my Google Developer Console project.
Are these projects identical to each other? If I remove one, will it remove the other?
Difference between Google Developers Console and a Google Play Developers Console?
Google Developers Console: Google Developers (previously Google Code) is Google's site for software development tools, application programming interfaces (APIs), and technical resources. The site contains documentation on using Google developer tools and APIs—including discussion groups and blogs for developers using Google's developer products.
Google Play Developers Console:
Google Play or Google Play Store, and originally the Android Market, is a digital distribution platform operated by Google. It serves as the official app store for the Android operating system, allowing users to browse and download applications developed with the Android SDK and published through Google. Google Play also serves as a digital media store, offering music, magazines, books, movies, and television programs.
Answer of your Question
No, If you remove your project from Developers Console it will not delete your Application from Google Play Store, but the funcationality witch is working due to your Google Developers Console project stops and your Application will not work as it was previously.
Note: Your Project will be permanently deleted from Google Developers Console after 7 days when you deleted it. You can restore your project in the mean time.
The Google Developer Console is a place where you can register your applications for using any of the Google APIs (example: Google plus) or using the Google infrastructures.
The Google Play Developer Console is where you upload your Android App, publish, view statistics, etc.
Removing your project from one will not remove it from the other.
I want to implement Google Analytics in my android app. I'm not interested in eCommerce and Global Tracking. All I want to track is the screens visited and events generated by users.
Tried using Google Analytics V3 and it works fine.
Want to migrate to V4 (Should I?).
Google Analytics V4 is now integrated with Google Play Services, which is HUGE. I now get this 65K method problem in android.
Found a good article on that here. The Google Play Services Modular structure is for Gradle. I'm using Eclipse with the android SDK.
Is there any similar work around? Why add the huge library when you just want to use a part of it?
I'm in the process of migrating from AdMob SDK to Google Play Services. I've done most of the job and things seem to be working fine, but I'm not sure I understand the logic behind some of the interaction.
The changes I've made can be found here: Google Play Services Migration.
When am I utilizing Google Play Services with my new code? The site "Set up Google Play Services SDK" states that your app should verify the version available before attempting to perform API transactions. However, when running my app on an emulator that does not have Google Play Services, I am still able to fetch an ad using an AdView and AdRequest.Builder(). I do however note the LogCat warning Google Play services is missing.. How can the ad still be showing?
Also, will the Google Play Services referenced library be included in the APK export, or is this just for the development environment?
Google Play Services consists of two components. One is the jar linked to the app and the other is part of the system (Android OS). The AdMob ad display component is in the jar while other play services are in the system.
If a app is built with Google Play Services you will have the ability to display AdMob ads, but you won't get some of the other Google Play Services features.
So yes, when your app is linked to the library some Google Play Service classes will be included in your APK.
It is also possible to display AdMob ads by using the older (now deprecated) AdMob SDK.
I am considering using Xamarin.Android and MvvmCross on an enterprise device that does not have Google Play Services or any other Google apps/services (i.e. Google Maps).
Does MvvmCross have any dependencies on Google Play Services or other Google apps/services that may not exist on an enterprise device?
No. The only time you would need to install the Google Play Services component is if you use a feature like Maps, Cloud Messaging, or In-app purchases.
MvvmCross is very modular and you include only the features you need primarily via plugins.
As mentioned by #Kiliman, MvvmCross has no dependencies on Google Play.
To get you started here are two good links:
1) Writing a first App
2) Video on using MvvmCross and Android (iOS and Windows as well)