Ajouter Firebase à votre projet C++

Améliorez vos jeux C++ grâce à nos SDK Firebase C++, qui fournissent une interface C++ en plus des SDK Firebase.

Accédez à Firebase entièrement à partir de votre code C++, sans avoir à écrire de code natif à la plate-forme. Le SDK Firebase traduit également de nombreux idiomes spécifiques à la langue utilisés par Firebase en une interface plus familière aux développeurs C++.

Pour en savoir plus sur l'amélioration de vos jeux avec Firebase, consultez notre page Firebase pour les jeux.

Vous avez déjà ajouté Firebase à votre projet C++ ? Assurez-vous d'utiliser la dernière version du SDK C++ Firebase.


Prérequis

  • Installez l'éditeur ou l'IDE 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 connecter à votre projet C++. Consultez Comprendre les projets Firebase pour en savoir plus sur les projets Firebase.

  1. Dans la console Firebase, cliquez sur Ajouter un projet.

    • Pour ajouter des ressources Firebase à un projet existant Google Cloud, saisissez son nom ou sélectionnez-le dans le menu déroulant.

    • Pour créer un projet, saisissez son nom. Vous pouvez également modifier l'ID du projet affiché sous le nom du projet.

  2. Si vous y êtes invité, lisez et acceptez les Conditions d'utilisation de Firebase.

  3. Cliquez sur Continuer.

  4. (Facultatif) Configurez Google Analytics pour votre projet, ce qui permet une expérience optimale avec les produits Firebase suivants : Firebase A/B Testing, Cloud Messaging, Crashlytics, In-App Messaging et Remote Config (y compris Personnalisation).

    Sélectionnez un compte Google Analytics existant ou créez-en un. Si vous créez un compte, sélectionnez votre Analytics zone géographique pour les rapports, puis acceptez les paramètres de partage des données et les conditions d'utilisation de Google Analytics pour votre projet.

  5. Cliquez sur Créer un projet (ou Ajouter Firebase si vous ajoutez Firebase à 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 : Enregistrez 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.

  1. Accédez à la console Firebase.

  2. Au centre de la page de présentation du projet, cliquez sur l'icône Android () ou sur Ajouter une application pour lancer le workflow de configuration.

  3. Saisissez le nom du package de votre application dans le champ Nom du package Android.

    • Un nom de package identifie de manière unique votre application sur l'appareil et sur 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 ne peut pas être modifiée pour cette application Android Firebase une fois qu'elle est enregistrée dans votre projet Firebase.

  4. (Facultatif) Saisissez d'autres informations sur l'application : Pseudo de l'application et Certificat de signature de débogage SHA-1.

  5. Cliquez sur Enregistrer l'application.

Étape 4 : Ajoutez le fichier de configuration Firebase

  1. Cliquez sur Télécharger google-services.json pour obtenir votre fichier de configuration Firebase Android.

    • Le fichier de configuration Firebase contient des identifiants uniques, mais pas secrets, pour votre projet et votre application. 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).

  2. Ouvrez votre projet C++ dans un IDE, puis ajoutez votre fichier de configuration à votre projet :

  3. (Compilations Gradle uniquement) Pour activer les services Firebase dans votre projet C++, ajoutez le plug-in google-services à votre fichier build.gradle de premier niveau.

    1. 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.3'  // Google Services plugin
            implementation 'com.google.android.gms:18.7.2'
          }
        }
      
        allprojects {
          // ...
      
          repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
            // ...
          }
        }
      
    2. 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 {
          // ...
        }
      
  4. Vous avez terminé les tâches de configuration dans la console Firebase. Passez à la section Ajouter les SDK C++ Firebase ci-dessous.

Étape 5 : Ajouter les SDK Firebase C++

Les étapes de cette section montrent comment ajouter des produits Firebase compatibles à votre projet Firebase C++.

  1. Téléchargez le SDK Firebase C++, puis décompressez-le dans un emplacement pratique.

    Le SDK Firebase C++ n'est pas spécifique à une plate-forme, mais il contient des bibliothèques spécifiques à une plate-forme.

  2. 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
  3. 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"
  4. Ajoutez le contenu suivant au fichier Gradle de votre module (au niveau de l'application), généralement app/build.gradle.
    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
    }
  5. 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}")
  6. Synchronisez votre application pour vous assurer que toutes les dépendances disposent des versions nécessaires.

  7. Si vous avez ajouté Analytics, exécutez votre application pour envoyer une confirmation à Firebase indiquant que vous avez bien intégré Firebase. Sinon, vous pouvez ignorer l'étape de validation.

    Les journaux de votre appareil afficheront la vérification Firebase indiquant que l'initialisation est terminée. Si vous avez exécuté votre application sur un émulateur ayant accès au 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.

  1. Assurez-vous de disposer de la version 10d ou ultérieure du NDK Android.
  2. Téléchargez le SDK Firebase C++, puis décompressez-le dans un emplacement pratique.

    Le SDK Firebase C++ n'est pas spécifique à une plate-forme, mais il contient des bibliothèques spécifiques à une plate-forme.

  3. Ouvrez votre fichier local.properties, puis :

    • Définissez la variable firebase_cpp_sdk.dir sur l'emplacement du SDK Firebase C++ décompressé.
    • Définissez la variable ndk.dir sur l'emplacement du NDK Android.
  4. Pour utiliser la compatibilité ndkBuild intégrée de Gradle, créez un répertoire jni dans votre répertoire de premier niveau, puis créez les fichiers make suivants.

    1. 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
    2. 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)
  5. Ouvrez votre fichier build.gradle de premier niveau, puis procédez comme suit :

    1. 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'
      }
    2. Ajoutez les lignes suivantes pour que votre projet utilise la compatibilité ndk-build intégrée de 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)
              }
          }
      }

Chaque produit Firebase possède des dépendances différentes. Veillez à ajouter toutes les dépendances listées pour les produits Firebase que vous souhaitez utiliser.

Ajoutez des bibliothèques Firebase C++ (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 notre version du SDK Open Source sur GitHub.

Bibliothèques disponibles pour Android (avec CMake)

Notez que les bibliothèques C++ pour les plates-formes Apple sont listées dans la version de cette page de configuration pour les plates-formes Apple (iOS+).

Produit Firebase Références de la bibliothèque
(firebaseCpp.dependencies
pour le fichier build.gradle)
Références de la 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 NDK

Firebase Crashlytics est compatible avec les rapports d'erreur pour les applications utilisant des bibliothèques natives Android. Pour en savoir plus, consultez Obtenir des rapports d'erreur NDK Android.

Systèmes de compilation personnalisés

Firebase fournit le script generate_xml_from_google_services_json.py pour convertir les ressources 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 compilation des applications Android.

Si vous n'utilisez pas Gradle pour la compilation (par exemple, si vous utilisez ndk-build, des fichiers makefile, Visual Studio, etc.), vous pouvez utiliser ce script pour automatiser la génération de ressources de chaînes Android.

ProGuard

De nombreux systèmes de compilation Android utilisent ProGuard pour les compilations en mode Release afin de réduire la taille des applications et de protéger le code source Java.

Si vous utilisez ProGuard, vous devrez ajouter les fichiers de libs/android/*.pro correspondant aux bibliothèques Firebase C++ que vous utilisez dans votre configuration ProGuard.

Par exemple, avec Gradle, si vous utilisez Google Analytics, votre fichier build.gradle ressemblera à ceci :

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
    }
  }
}

Exigence 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 Firebase C++ renvoie kInitResultFailedMissingDependency lors de l'initialisation, cela signifie que les services Google Play ne sont pas disponibles sur l'appareil client (c'est-à-dire qu'ils doivent être mis à jour ou réactivés, ou 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) en utilisant les 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++ Les services Google Play sont-ils requis sur l'appareil client ?
AdMob Non requis (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 les 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 listé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 des plates-formes de bureau, puis de le déployer et de le tester sur des appareils mobiles plus tard dans le développement. Pour prendre en charge ce workflow, nous fournissons un sous-ensemble des SDK Firebase C++ qui peuvent s'exécuter sur Windows, macOS, Linux et dans l'éditeur C++.

  1. Pour les workflows sur ordinateur, vous devez effectuer les opérations suivantes :

    1. Configurez votre projet C++ pour CMake.
    2. Créer un projet Firebase
    3. Enregistrer votre application (iOS ou Android) auprès de Firebase
    4. Ajouter un fichier de configuration Firebase pour plate-forme mobile
  2. Créez une version desktop du fichier de configuration Firebase :

    • Si vous avez ajouté le fichier google-services.json Android : lorsque vous exécutez votre application, Firebase localise 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 fichier GoogleService-Info.plist :

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

    Ce fichier de configuration du bureau contient l'ID du 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.

  3. 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 ajouter Firebase Authentication et Firebase Realtime Database.

    1. Définissez votre variable d'environnement FIREBASE_CPP_SDK_DIR sur l'emplacement du SDK Firebase C++ décompressé.

    2. 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}")
  4. Exécutez votre application C++.

Bibliothèques disponibles (ordinateur)

Le SDK Firebase C++ inclut la compatibilité avec les workflows pour ordinateur pour un sous-ensemble de fonctionnalités, ce qui permet d'utiliser certaines parties de Firebase dans des compilations d'ordinateur autonomes sur Windows, macOS et Linux.

Produit Firebase Références de bibliothèque (avec 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 bibliothèques de bureau restantes sous forme d'implémentations stub (non fonctionnelles) pour faciliter la création d'applications pour Windows, macOS et Linux. Vous n'avez donc pas besoin de compiler le code de manière conditionnelle pour cibler le bureau.

Realtime Database ordinateur

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 la 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 : Multithreaded / MT vs Multithreaded DLL /MD
  • Cible : version Release ou Debug

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++ sur Windows, associez les bibliothèques Windows SDK suivantes à votre projet. Pour en savoir plus, consultez la documentation de votre compilateur.

Bibliothèque Firebase C++ Dépendances de la bibliothèque 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èque 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 avec Xcode 16.2.

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 macOS
  • Foundation Framework système macOS
  • Security Framework système macOS
  • GSS Framework système macOS
  • Kerberos Framework système macOS
  • SystemConfiguration Framework système macOS

Pour en savoir plus, consultez la documentation de votre compilateur.

Bibliothèques Linux

Pour Linux, des versions de bibliothèque sont fournies pour les plates-formes 32 bits (i386) et 64 bits (x86_64).

Notez que les bibliothèques Linux ont été testées avec 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