Learn about C++ and Firebase

As you’re developing your C++ project using Firebase, you might discover concepts that are unfamiliar or specific to Firebase. This page aims to answer those questions or point you to resources to learn more.

Feel free to visit one of our online communities if you have questions about a topic not covered on this page. We’ll also update this page with new topics periodically, so check back to see if we’ve added the topic you want to learn about!

Firebase library support by platform

The following table describes which Firebase libraries are compatible with which platforms. Currently desktop support is intended for development purposes -- allowing you to test features on your development machine without deploying to a phone or tablet if permitted by your toolchain.

Platform Android iOS tvOS macOS
(beta)
Windows
(beta)
Linux
(beta)
A/B Testing v8.3.0+
Analytics v8.7.0+
App Distribution v8.3.0+
Authentication v8.3.0+
Cloud Firestore v8.3.0+
Cloud Functions v8.3.0+
Cloud Messaging v8.3.0+
Cloud Storage v8.3.0+
Crashlytics v8.3.0+
Dynamic Links
Google Mobile Ads
Realtime Database v8.3.0+
Remote Config v8.3.0+

Google services – config files

As part of adding Firebase to your C++ project, you need to add a Firebase configuration file.

  • To ship a C++ game on a mobile platform, follow the instructions for Apple platforms (iOS+) and/or Android to include the appropriate Firebase configuration file in your project.

  • To develop for desktop, you'll need to create a desktop version of the "mobile" Firebase configuration file:

    • If you added the Android google-services.json file — When you run your app, Firebase locates this mobile file, then automatically generates a desktop Firebase config file (google-services-desktop.json).

    • If you added the Apple GoogleService-Info.plist file — Before you run your app, you need to convert this mobile file to a desktop Firebase config file. To convert the file, run the following command from the same directory as your GoogleService-Info.plist file:

    generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
    

If you want to use multiple Firebase projects in a single app, visit the documentation for configuring multiple projects.

Open source resources for the Firebase C++ SDK

Firebase supports open source development, and we encourage contributions and feedback.

Firebase SDKs

The open source C++ SDKs are available in our GitHub repository.

Note the following about how we build the C++ SDKs for Firebase:

  • The C++ SDKs for Windows, Linux, and macOS are entirely open source and hosted in our GitHub repo.
  • The C++ SDKs for iOS, tvOS, and Android are built on top of the open source iOS SDKs and Android SDKs.

Quickstart samples

Firebase maintains a collection of quickstart samples for Firebase APIs on C++. Find these quickstarts in our public Firebase GitHub quickstart repository.

Each quickstart includes an Xcode project for iOS, an Android Studio project, and a CMakeLists.txt file that can be used to generate a desktop project (if the Firebase product itself supports desktop targets).