Google is a pretty ubiquitous name in the Android space. Not only does the company own and maintain the Android Open Source Project itself, but it's also in charge of the largest distribution platform on Android: the Google Play Store and the underlying Google Mobile Services (GMS) suite. GMS is the important part here. Firebase, Google's cross-platform toolkit for things like analytics and crash detection, uses GMS to provide a lot of its functionality.

That's all well and good if your target devices come with Google apps preinstalled, but what if they don't? What if a user has unlocked their bootloader and flashed a Google-free ROM? What if someone's using a Huawei device, or they've imported a phone from China? Will the Firebase-dependent parts of your app just not work?

Thankfully, if you're trying to implement Firebase into your app, you don't need to guess which SDKs will work on Google-free devices and which won't. Google has helpfully released a list of all its current Firebase SDKs, and whether or not they depend on GMS. You can use this to tell at-a-glance which SDKs you can safely implement and which you may have to supplement or avoid.

Here's a table listing the Firebase SDKs and whether or not they have GMS dependencies:

Library

GMS Status

Play Services Ads

Required

Analytics

Recommended

App Indexing

Required

Authentication

Required

Firestore

Not Required

Functions

Not Required

Messaging

Required

Storage

Not Required

Crashlytics

Not Required

Dynamic Links

Required

ML Vision

Required

ML Model Interpreter

Required

In-App Messaging

Not Required

In-App Messaging Display

Not Required

Installations

Not Required

Performance

Required

Database

Not Required

Config

Not Required

A surprising number of Firebase SDKs actually work fine without GMS being installed. Even the Authentication SDK can be used without GMS with the right implementation.

Keep in mind that this list is only accurate as of the publication of this article, which is on September 6th. It's possible it will change in the future as SDKs are added, updated, or removed from Firebase. For up-to-date information, as well as a workaround for using Firebase Authentication without GMS, check out Google's page.