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 yourGoogleService-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).