Optimisez vos jeux C++ avec nos SDK Firebase C++, qui fournissent une interface C++ au-dessus des SDK Firebase.
Accédez entièrement à Firebase à partir de votre code C++, sans avoir à écrire de code natif de la plate-forme. Le SDK Firebase traduit également de nombreux idiomes propres à la langue utilisés par Firebase en une interface plus familière aux développeurs C++.
Pour en savoir plus sur l'alimentation de vos jeux avec Firebase, consultez la page des jeux Firebase.
Avez-vous déjà ajouté Firebase à votre projet C++ ? Assurez-vous d'utiliser la dernière version du SDK C++ Firebase.
Prérequis
Installez l'IDE ou l'éditeur de votre choix, comme Android Studio, IntelliJ ou VS Code.
Obtenez le SDK Android.
Assurez-vous que votre projet répond aux exigences suivantes:
Cible le niveau d'API 21 (Lollipop) ou version ultérieure
Utilise Gradle et est configuré avec CMake
Configurez un appareil physique ou utilisez un émulateur pour exécuter votre application.
Les émulateurs doivent utiliser une image d'émulateur avec Google Play.
Pour certaines bibliothèques C++, les services Google Play sont requis sur l'appareil client. Consultez la liste sur cette page.
Connectez-vous à Firebase avec votre compte Google.
Étape 2: Créer un projet Firebase
Avant de pouvoir ajouter Firebase à votre projet C++, vous devez créer un projet Firebase pour vous y connecter. Consultez Comprendre les projets Firebase pour en savoir plus sur les projets Firebase.
Créer un projet Firebase
-
Dans la console Firebase, cliquez sur Ajouter un projet.
-
Pour ajouter des ressources Firebase à un projet Google Cloud existant, saisissez son nom ou sélectionnez-le dans le menu déroulant.
-
Pour créer un projet, saisissez le nom souhaité. Vous pouvez également modifier l'ID du projet affiché sous le nom du projet.
-
-
Si vous y êtes invité, lisez et acceptez les Conditions d'utilisation de Firebase.
-
Cliquez sur Continuer.
-
(Facultatif) Configurez Google Analytics pour votre projet, ce qui vous permet de profiter d'une expérience optimale avec l'un des produits Firebase suivants:
Sélectionnez un compte Google Analytics existant ou créez-en un.
Si vous créez un compte, sélectionnez votre emplacement de création de rapports Analytics, puis acceptez les paramètres de partage des données et les conditions Google Analytics pour votre projet.
-
Cliquez sur Créer un projet (ou sur Ajouter Firebase si vous utilisez un projet Google Cloud existant).
Firebase provisionne automatiquement des ressources pour votre projet Firebase. Une fois le processus terminé, vous êtes redirigé vers la page de présentation de votre projet Firebase dans la console Firebase.
Étape 3: Enregistrer votre application auprès de Firebase
Pour utiliser Firebase dans votre application Android, vous devez enregistrer votre application auprès de votre projet Firebase. L'enregistrement de votre application est souvent appelé "ajout" de votre application à votre projet.
Accédez à la console Firebase.
Au centre de la page de présentation du projet, cliquez sur l'icône Android (
) ou sur Ajouter une application pour lancer le processus de configuration.Saisissez le nom du package de votre application dans le champ Nom du package Android.
Qu'est-ce qu'un nom de package et où le trouver ?
Un nom de package identifie de manière unique votre application sur l'appareil et dans le Google Play Store.
Un nom de package est souvent appelé ID d'application.
Recherchez le nom du package de votre application dans le fichier Gradle de votre module (au niveau de l'application), généralement
app/build.gradle
(exemple de nom de package :com.yourcompany.yourproject
).Notez que la valeur du nom du package est sensible à la casse et qu'elle ne peut pas être modifiée pour cette application Android pour Firebase une fois qu'elle est enregistrée dans votre projet Firebase.
(Facultatif) Saisissez d'autres informations sur l'application : Pseudo de l'application et Certificat de signature de débogage SHA-1.
Comment le pseudo de l'application et le certificat de signature de débogage SHA-1 sont-ils utilisés dans Firebase ?
Pseudo de l'application: identifiant interne pratique que vous seul pouvez voir dans la console Firebase.
Certificat de signature de débogage SHA-1: Firebase Authentication (lorsque vous utilisez Connexion avec Google ou Connexion avec un numéro de téléphone) et Firebase Dynamic Links nécessitent un hachage SHA-1.
Cliquez sur Enregistrer l'application.
Étape 4: Ajoutez le fichier de configuration Firebase
Cliquez sur Télécharger google-services.json pour obtenir votre fichier de configuration Firebase Android.
Que devez-vous savoir sur ce fichier de configuration ?
Le fichier de configuration Firebase contient des identifiants uniques, mais pas secrets, pour votre projet. Pour en savoir plus sur ce fichier de configuration, consultez Comprendre les projets Firebase.
Vous pouvez télécharger à nouveau votre fichier de configuration Firebase à tout moment.
Veillez à ne pas inclure de caractères supplémentaires dans le nom du fichier de configuration, par exemple
(2)
.
Ouvrez votre projet C++ dans un IDE, puis ajoutez votre fichier de configuration à votre projet:
Compilations Gradle : ajoutez votre fichier de configuration dans le même répertoire que votre fichier
build.gradle
de premier niveau.Autres systèmes de compilation : consultez la section Systèmes de compilation personnalisés ci-dessous pour générer des ressources de chaîne Android.
(Compilations Gradle uniquement) Pour activer les services Firebase dans votre projet C++, ajoutez le plug-in google-services à votre fichier
build.gradle
de niveau supérieur.Ajoutez des règles pour inclure le plug-in Gradle des services Google. Vérifiez également que vous disposez du dépôt Maven de Google.
buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following lines: classpath 'com.google.gms:google-services:4.4.2' // Google Services plugin implementation 'com.google.android.gms:18.5.0' } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
Appliquez le plug-in Gradle des services Google:
apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
Vous avez terminé les tâches de configuration dans la console Firebase. Passez à la section Ajouter les SDK Firebase C++ ci-dessous.
Étape 5: Ajouter les SDK Firebase C++
Les étapes de cette section sont un exemple d'ajout de produits Firebase compatibles à votre projet Firebase C++.
Téléchargez le SDK C++ Firebase, puis décompressez-le dans un emplacement pratique.
Le SDK C++ Firebase n'est pas spécifique à la plate-forme, mais il contient des bibliothèques spécifiques à la plate-forme.
Dans le fichier
gradle.properties
de votre projet, spécifiez l'emplacement du SDK décompressé:systemProp.firebase_cpp_sdk.dir=
full-path-to-SDK Ajoutez le contenu suivant au fichier
settings.gradle
de votre projet:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Ajoutez le contenu suivant à votre fichier Gradle (généralement
app/build.gradle
) de votre module (au niveau de l'application).
Incluez les dépendances de bibliothèque pour les produits Firebase que vous souhaitez utiliser dans votre application.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Analytics, Firebase Authentication, and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { analytics auth database }
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { auth database }
Ajoutez le contenu suivant au fichier
CMakeLists.txt
de votre projet.
Incluez les bibliothèques pour les produits Firebase que vous souhaitez utiliser dans votre application.# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Analytics, Firebase Authentication, and Firebase Realtime Database set(firebase_libs firebase_analytics firebase_auth firebase_database firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database set(firebase_libs firebase_auth firebase_database firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Synchronisez votre application pour vous assurer que toutes les dépendances disposent des versions nécessaires.
Si vous avez ajouté Analytics, exécutez votre application pour envoyer à Firebase la confirmation que vous avez bien intégré Firebase. Sinon, vous pouvez ignorer l'étape de validation.
Les journaux de votre appareil afficheront la validation Firebase indiquant que l'initialisation est terminée. Si vous avez exécuté votre application sur un émulateur disposant d'un accès réseau, la console Firebase vous informe que la connexion de votre application est terminée.
Vous avez terminé ! Votre application C++ est enregistrée et configurée pour utiliser les services Firebase.
(autre option facultative) Utiliser ndk-build pour ajouter des SDK
- Assurez-vous de disposer de la version 10d ou ultérieure du NDK Android.
Téléchargez le SDK C++ Firebase, puis décompressez-le dans un emplacement pratique.
Le SDK C++ Firebase n'est pas spécifique à la plate-forme, mais il contient des bibliothèques spécifiques à la plate-forme.
-
Ouvrez votre fichier
local.properties
, puis:- Définissez la variable
firebase_cpp_sdk.dir
sur l'emplacement du SDK C++ Firebase décompressé. - Définissez la variable
ndk.dir
sur l'emplacement du NDK Android.
- Définissez la variable
-
Pour utiliser la prise en charge intégrée de ndkBuild par Gradle, créez un répertoire
jni
dans votre répertoire de premier niveau, puis créez les fichiersmake
suivants.-
Créez un fichier
jni/Application.mk
avec le contenu suivant:APP_PLATFORM:=android-14 NDK_TOOLCHAIN_VERSION=clang APP_ABI:=armeabi-v7a arm64-v8a x86 x86_64 APP_STL:=c++_static APP_MODULES:=android_main APP_CPPFLAGS+=-std=c++11
-
Créez un fichier
jni/Android.mk
avec le contenu suivant :Incluez les bibliothèques du produit Firebase que vous souhaitez utiliser. Par exemple, pour utiliser Analytics:
LOCAL_PATH:=$(call my-dir)/.. ifeq ($(FIREBASE_CPP_SDK_DIR),) $(error FIREBASE_CPP_SDK_DIR must specify the Firebase package location.) endif # With Firebase libraries for the selected build configuration (ABI + STL) STL:=$(firstword $(subst _, ,$(APP_STL))) FIREBASE_LIBRARY_PATH:=\ $(FIREBASE_CPP_SDK_DIR)/libs/android/$(TARGET_ARCH_ABI)/$(STL) # The Firebase C++ library `libfirebase_app.a` is required for all Firebase products. include $(CLEAR_VARS) LOCAL_MODULE:=firebase_app LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_app.a LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include include $(PREBUILT_STATIC_LIBRARY) # Include the Firebase library for Google Analytics. # Note: Duplicate this block for each Firebase product that you want # to use in your app, and replace variable values as appropriate. include $(CLEAR_VARS) LOCAL_MODULE:=firebase_analytics LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_analytics.a LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE:=android_main # Reference your project's C++ source files LOCAL_SRC_FILES:=\ $(LOCAL_PATH)/src/common_main.cc \ $(LOCAL_PATH)/src/android/android_main.cc LOCAL_STATIC_LIBRARIES:=\ firebase_analytics \ firebase_app # this library reference must always be listed last LOCAL_WHOLE_STATIC_LIBRARIES:=\ android_native_app_glue LOCAL_C_INCLUDES:=\ $(NDK_ROOT)/sources/android/native_app_glue \ $(LOCAL_PATH)/src LOCAL_LDLIBS:=-llog -landroid -latomic LOCAL_ARM_MODE:=arm LOCAL_LDFLAGS:=-Wl,-z,defs -Wl,--no-undefined include $(BUILD_SHARED_LIBRARY) $(call import-add-path,$(NDK_ROOT)/sources/android) $(call import-module,android/native_app_glue)
-
-
Ouvrez votre fichier
build.gradle
de premier niveau, puis procédez comme suit:-
Ajoutez les dépendances pour les produits Firebase que vous souhaitez utiliser. Par exemple, pour utiliser Analytics:
dependencies { implementation 'com.google.firebase:firebase-analytics:21.0.0' }
-
Ajoutez les lignes suivantes pour que votre projet utilise la prise en charge intégrée de ndk-build par Gradle afin d'inclure les bibliothèques Firebase spécifiées dans votre fichier
jni/Android.mk
.android { // ... defaultConfig { // ... externalNativeBuild.ndkBuild { arguments "FIREBASE_CPP_SDK_DIR=${project.ext.firebase_cpp_sdk_dir}", "NDK_APPLICTION_MK=jni/Application.mk", sprintf("APP_PLATFORM=android-%d", android.defaultConfig.minSdkVersion.mApiLevel) } } }
-
Bibliothèques disponibles pour Android (à l'aide de ndk-build)
Chaque produit Firebase a des dépendances différentes. Veillez à ajouter toutes les dépendances listées pour les produits Firebase que vous souhaitez utiliser.
Ajoutez les bibliothèques C++ Firebase (comme libfirebase_app.a
) en les incluant dans le fichier jni/Android.mk
de premier niveau. Pour les autres dépendances (comme com.google.firebase:firebase-auth
), ajoutez-les à votre fichier build.gradle
de premier niveau.
Produit Firebase | Bibliothèques et dépendances |
---|---|
AdMob |
libfirebase_admob.a (obligatoire) libfirebase_analytics.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-ads:19.8.0' (obligatoire) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Analytics |
libfirebase_analytics.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
App Check |
libfirebase_app_check.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-appcheck:17.0.0'
|
Authentication |
libfirebase_auth.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-auth:21.0.5'
|
Cloud Firestore |
libfirebase_firestore.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-firestore:24.1.2'
|
Cloud Functions |
libfirebase_functions.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-functions:20.1.0'
|
Cloud Messaging |
libfirebase_messaging.a (recommandé) libfirebase_analytics.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-messaging:23.0.5' (recommandé) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Cloud Storage |
libfirebase_storage.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-storage:20.0.1'
|
Dynamic Links |
ibfirebase_dynamic_links.a (recommandé) libfirebase_analytics.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-dynamic-links:21.0.1' (recommandé) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Realtime Database |
libfirebase_database.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-database:20.0.5'
|
Remote Config |
libfirebase_remote_config.a (recommandé) libfirebase_analytics.a (obligatoire) libfirebase_app.a implementation 'com.google.firebase:firebase-config:21.1.0' (recommandé) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Bibliothèques disponibles
Pour en savoir plus sur les bibliothèques Firebase C++, consultez la documentation de référence et la version de notre SDK Open Source sur GitHub.
Bibliothèques disponibles pour Android (à l'aide de CMake)
Notez que les bibliothèques C++ pour les plates-formes Apple sont listées sur la version de cette page de configuration pour les plates-formes Apple (iOS+).
Produit Firebase | Références de bibliothèque ( firebaseCpp.dependencies pour le fichier build.gradle ) |
Références de bibliothèque ( firebase_libs pour le fichier CMakeLists.txt ) |
---|---|---|
AdMob | admob |
firebase_admob (obligatoire) firebase_analytics (obligatoire) firebase_app
|
Analytics | analytics |
firebase_analytics (obligatoire) firebase_app
|
App Check | appCheck |
firebase_app_check (obligatoire) firebase_app
|
Authentication | auth |
firebase_auth (obligatoire) firebase_app
|
Cloud Firestore | firestore |
firebase_firestore (obligatoire) firebase_auth (obligatoire) firebase_app
|
Cloud Functions | functions |
firebase_functions (obligatoire) firebase_app
|
Cloud Messaging | messaging |
firebase_messaging (recommandé) firebase_analytics (obligatoire) firebase_app
|
Cloud Storage | storage |
firebase_storage (obligatoire) firebase_app
|
Dynamic Links | dynamicLinks |
firebase_dynamic_links (recommandé) firebase_analytics (obligatoire) firebase_app
|
Realtime Database | database |
firebase_database (obligatoire) firebase_app
|
Remote Config | remoteConfig |
firebase_remote_config (recommandé) firebase_analytics (obligatoire) firebase_app
|
Informations supplémentaires pour la configuration sur mobile
Obtenir des rapports d'erreur du NDK
Firebase Crashlytics est compatible avec les rapports d'erreur pour les applications qui utilisent des bibliothèques natives Android. Pour en savoir plus, consultez la section Obtenir des rapports d'erreur du NDK Android.
Systèmes de compilation personnalisés
Firebase fournit le script generate_xml_from_google_services_json.py
pour convertir google-services.json
en ressources .xml
que vous pouvez inclure dans votre projet. Ce script applique la même transformation que le plug-in Gradle des services Google Play lors de la création d'applications Android.
Si vous ne compilez pas avec Gradle (par exemple, si vous utilisez ndk-build, des fichiers de compilation, Visual Studio, etc.), vous pouvez utiliser ce script pour automatiser la génération de ressources de chaîne Android.
ProGuard
De nombreux systèmes de compilation Android utilisent ProGuard pour les builds en mode Release afin de réduire la taille des applications et de protéger le code source Java.
Si vous utilisez ProGuard, vous devez ajouter les fichiers dans libs/android/*.pro
correspondant aux bibliothèques C++ Firebase que vous utilisez dans votre configuration ProGuard.
Par exemple, avec Gradle, si vous utilisez Google Analytics, votre fichier build.gradle
se présente comme suit:
android { // ... buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('your-project-proguard-config.txt') proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/app.pro") proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/analytics.pro") // ... and so on, for each Firebase C++ library that you're using } } }
Exigences concernant les services Google Play
La plupart des bibliothèques Firebase C++ nécessitent que les services Google Play soient installés sur l'appareil Android du client. Si une bibliothèque C++ Firebase renvoie kInitResultFailedMissingDependency
à l'initialisation, cela signifie que les services Google Play ne sont pas disponibles sur l'appareil client (ce qui signifie qu'ils doivent être mis à jour, réactivés, que les autorisations doivent être corrigées, etc.). La bibliothèque Firebase ne peut pas être utilisée tant que la situation sur l'appareil client n'est pas corrigée.
Vous pouvez découvrir pourquoi les services Google Play ne sont pas disponibles sur l'appareil client (et essayer de résoudre le problème) à l'aide des fonctions de google_play_services/availability.h
.
Le tableau suivant indique si les services Google Play sont requis sur un appareil client pour chaque produit Firebase compatible.
Bibliothèque Firebase C++ | Services Google Play requis sur l'appareil client ? |
---|---|
AdMob | Non obligatoire (généralement) |
Analytics | Non obligatoire |
Authentication | Requis |
Cloud Firestore | Obligatoire |
Cloud Functions | Obligatoire |
Cloud Messaging | Obligatoire |
Cloud Storage | Obligatoire |
Dynamic Links | Obligatoire |
Realtime Database | Obligatoire |
Remote Config | Obligatoire |
AdMob et services Google Play
La plupart des versions du SDK Google Mobile Ads pour Android peuvent fonctionner correctement sans les services Google Play sur l'appareil client. Toutefois, si vous utilisez la dépendance com.google.android.gms:play-services-ads-lite
au lieu de la dépendance com.google.firebase:firebase-ads
standard indiquée ci-dessus, les services Google Play sont obligatoires.
L'initialisation de AdMob ne renvoie kInitResultFailedMissingDependency
que lorsque les deux conditions suivantes sont remplies:
- Les services Google Play ne sont pas disponibles sur l'appareil client.
- Vous utilisez
com.google.android.gms:play-services-ads-lite
.
Configurer un workflow pour ordinateur (bêta)
Lorsque vous créez un jeu, il est souvent beaucoup plus facile de le tester d'abord sur les plates-formes de bureau, puis de le déployer et de le tester sur les appareils mobiles plus tard dans le développement. Pour prendre en charge ce workflow, nous fournissons un sous-ensemble des SDK C++ Firebase pouvant s'exécuter sur Windows, macOS, Linux et depuis l'éditeur C++.
Pour les workflows sur ordinateur, vous devez effectuer les opérations suivantes:
- Configurez votre projet C++ pour CMake.
- Créer un projet Firebase
- Enregistrer votre application (iOS ou Android) auprès de Firebase
- Ajouter un fichier de configuration Firebase pour les plates-formes mobiles
Créez une version pour ordinateur du fichier de configuration Firebase:
Si vous avez ajouté le fichier
google-services.json
Android : lorsque vous exécutez votre application, Firebase recherche ce fichier mobile, puis génère automatiquement un fichier de configuration Firebase pour ordinateur (google-services-desktop.json
).Si vous avez ajouté le fichier
GoogleService-Info.plist
iOS : avant d'exécuter votre application, vous devez convertir ce fichier mobile en fichier de configuration Firebase pour ordinateur. Pour convertir le fichier, exécutez la commande suivante à partir du même répertoire que votre fichierGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ce fichier de configuration pour ordinateur de bureau contient l'ID de projet C++ que vous avez saisi dans le workflow de configuration de la console Firebase. Consultez Comprendre les projets Firebase pour en savoir plus sur les fichiers de configuration.
Ajoutez les SDK Firebase à votre projet C++.
Les étapes ci-dessous vous montrent comment ajouter un produit Firebase compatible à votre projet C++. Dans cet exemple, nous allons voir comment ajouter Firebase Authentication et Firebase Realtime Database.
Définissez votre variable d'environnement
FIREBASE_CPP_SDK_DIR
sur l'emplacement du SDK C++ Firebase décompressé.Ajoutez le contenu suivant au fichier
CMakeLists.txt
de votre projet, y compris les bibliothèques pour les produits Firebase que vous souhaitez utiliser. Par exemple, pour utiliser Firebase Authentication et Firebase Realtime Database:# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database set(firebase_libs firebase_auth firebase_database firebase_app) target_link_libraries(${target_name} "${firebase_libs}")
Exécutez votre application C++.
Bibliothèques disponibles (ordinateur)
Le SDK C++ Firebase inclut la compatibilité avec les workflows de bureau pour un sous-ensemble de fonctionnalités, ce qui permet d'utiliser certaines parties de Firebase dans des builds de bureau autonomes sous Windows, macOS et Linux.
Produit Firebase | Références de bibliothèque (à l'aide de CMake) |
---|---|
App Check |
firebase_app_check (obligatoire) firebase_app
|
Authentication |
firebase_auth (obligatoire) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud Functions |
firebase_functions (obligatoire) firebase_app
|
Cloud Storage |
firebase_storage (obligatoire) firebase_app
|
Realtime Database |
firebase_database (obligatoire) firebase_app
|
Remote Config |
firebase_remote_config (obligatoire) firebase_app
|
Firebase fournit les autres bibliothèques pour ordinateur de bureau en tant qu'implémentations de bouchon (non fonctionnelles) pour plus de commodité lors de la compilation pour Windows, macOS et Linux. Par conséquent, vous n'avez pas besoin de compiler le code de manière conditionnelle pour cibler le bureau.
Ordinateur Realtime Database
Le SDK Realtime Database pour ordinateur utilise REST pour accéder à votre base de données. Vous devez donc déclarer les index que vous utilisez avec Query::OrderByChild()
sur ordinateur, sinon vos écouteurs échoueront.
Informations supplémentaires pour la configuration sur ordinateur
Bibliothèques Windows
Pour Windows, les versions de bibliothèque sont fournies en fonction des éléments suivants:
- Plate-forme de compilation: mode 32 bits (x86) ou 64 bits (x64)
- Environnement d'exécution Windows: multithreading / MT par rapport aux DLL multithread /MD
- Cible: version ou débogage
Notez que les bibliothèques suivantes ont été testées avec Visual Studio 2015 et 2017.
Lorsque vous créez des applications de bureau C++ sous Windows, associez les bibliothèques du SDK Windows suivantes à votre projet. Pour en savoir plus, consultez la documentation de votre compilateur.
Bibliothèque Firebase C++ | Dépendances des bibliothèques du SDK Windows |
---|---|
App Check | advapi32, ws2_32, crypt32 |
Authentication | advapi32, ws2_32, crypt32 |
Cloud Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Cloud Functions | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Cloud Storage | advapi32, ws2_32, crypt32 |
Realtime Database | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Remote Config | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Bibliothèques macOS
Pour macOS (Darwin), des versions de bibliothèques sont fournies pour la plate-forme 64 bits (x86_64). Des frameworks sont également fournis pour plus de commodité.
Notez que les bibliothèques macOS ont été testées à l'aide de Xcode 13.3.1.
Lorsque vous créez des applications de bureau C++ sur macOS, associez les éléments suivants à votre projet:
- Bibliothèque système
pthread
CoreFoundation
Framework système macOSFoundation
Framework système macOSSecurity
Framework système macOSGSS
Framework système macOSKerberos
Framework système macOSSystemConfiguration
Framework système macOS
Pour en savoir plus, consultez la documentation de votre compilateur.
Bibliothèques Linux
Pour Linux, des versions de bibliothèques sont fournies pour les plates-formes 32 bits (i386) et 64 bits (x86_64).
Notez que les bibliothèques Linux ont été testées à l'aide de GCC 4.8.0, GCC 7.2.0 et Clang 5.0 sur Ubuntu.
Lorsque vous créez des applications de bureau C++ sur Linux, associez la bibliothèque système pthread
à votre projet. Pour en savoir plus, consultez la documentation de votre compilateur. Si vous compilez avec GCC 5 ou une version ultérieure, définissez -D_GLIBCXX_USE_CXX11_ABI=0
.
Étapes suivantes
Découvrez les exemples d'applications Firebase.
Découvrez le SDK Open Source sur GitHub.
Préparez le lancement de votre application:
- Configurez des alertes budgétaires pour votre projet dans la console Google Cloud.
- Surveillez le tableau de bord "Utilisation et facturation" dans la console Firebase pour obtenir une vue d'ensemble de l'utilisation de votre projet sur plusieurs services Firebase.
- Consultez la checklist de lancement de Firebase.