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 de la plate-forme. Le SDK Firebase traduit également de nombreux idiomes spécifiques à un langage utilisés par Firebase dans une interface plus familière aux développeurs C++.

Pour en savoir plus sur l'optimisation de vos jeux avec Firebase, consultez notre page sur les jeux Firebase.

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


Prérequis

  • Installez les éléments suivants :

    • Xcode 26.2 ou version ultérieure
  • Assurez-vous que votre projet cible les versions de plate-forme suivantes ou ultérieures :

    • iOS 15
    • tvOS 15
  • Configurez un appareil physique ou utilisez le simulateur pour exécuter votre application.

  • Connectez-vous à Firebase à l'aide de votre compte Google.

Étape 2 : Créer un projet Firebase

Avant d'ajouter Firebase à votre projet C++, vous devez créer un projet Firebase à associer à votre projet C++. Consultez Comprendre les projets Firebase pour en savoir plus sur les projets Firebase.

Étape 3 : Enregistrez votre application auprès de Firebase

Pour utiliser Firebase dans votre application Apple, vous devez l'enregistrer dans 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 "Vue d'ensemble du projet", cliquez sur l'icône iOS+ pour lancer la configuration.

    Si vous avez déjà ajouté une application à votre projet Firebase, cliquez sur Ajouter une application pour afficher les options de plate-forme.

  3. Saisissez l'ID du bundle de votre application dans le champ ID du bundle.

  4. (Facultatif) Saisissez d'autres informations sur l'application : Pseudo de l'application et ID App Store.

  5. Cliquez sur Enregistrer l'application.

Étape 4 : Ajoutez le fichier de configuration Firebase

  1. Cliquez sur Télécharger GoogleService-Info.plist pour obtenir le fichier de configuration Firebase pour les plates-formes Apple.

  2. Ouvrez votre projet C++ dans un IDE, puis faites glisser votre fichier de configuration vers la racine de votre projet C++.

  3. Si vous y êtes invité, sélectionnez l'option permettant d'ajouter le fichier de configuration à toutes les cibles.

Vous avez terminé les tâches de configuration dans la console Firebase. Passez à la section Ajouter les SDK Firebase C++ ci-dessous.

Étape 5 : Ajoutez 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 C++ pour Firebase, puis décompressez-le à l'emplacement de votre choix.

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

  2. Utilisez Swift Package Manager pour installer et gérer les dépendances du SDK Firebase pour les plates-formes Apple.

    1. Dans Xcode, à partir de votre projet d'application ouvert, accédez à File > Add Package Dependencies (Fichier > Ajouter des dépendances de package).

    2. Lorsque vous y êtes invité, ajoutez le dépôt du SDK des plates-formes Firebase pour Apple :

      https://github.com/firebase/firebase-ios-sdk.git

    3. Pour la règle de dépendance, sélectionnez Version exacte et saisissez 13.1.1.

    4. Choisissez les bibliothèques Firebase que vous souhaitez utiliser dans votre application (par exemple, FirebaseAuth et FirebaseDatabase). Si Google Analytics est activé dans votre projet Firebase, veillez à ajouter FirebaseAnalytics.

    Une fois l'opération terminée, Xcode commence automatiquement à résoudre et à télécharger vos dépendances en arrière-plan.

  3. Ajoutez les XCFrameworks Firebase à partir du répertoire xcframeworks du SDK décompressé.

    Le moyen le plus simple d'ajouter ces XCFrameworks consiste généralement à les faire glisser d'une fenêtre Finder directement dans le volet Project Navigator (Navigateur de projet) de Xcode (le volet situé tout à gauche, par défaut, ou cliquez sur l'icône de fichier en haut à gauche de Xcode) et à les ajouter à la cible de compilation de votre application.

    1. Ajoutez le XCFramework Firebase C++ firebase.xcframework, qui est requis pour utiliser n'importe quel produit Firebase.

    2. Ajoutez le XCFramework pour chaque produit Firebase que vous souhaitez utiliser. Par exemple, pour utiliser Firebase Authentication, ajoutez firebase_auth.xcframework.

  4. De retour dans la console Firebase, dans le workflow de configuration, cliquez sur Suivant.

  5. 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 cette é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 êtes fin prêt ! Votre application C++ est enregistrée et configurée pour utiliser les produits Firebase.

Bibliothèques disponibles

Pour en savoir plus sur les bibliothèques Firebase C++, consultez la documentation de référence et notre SDK Open Source sur GitHub.

Bibliothèques disponibles pour les plates-formes Apple

Notez que les bibliothèques C++ pour Android sont listées sur la version Android de cette page de configuration.

Chaque produit Firebase possède des dépendances différentes. Veillez à ajouter toutes les dépendances listées pour le produit Firebase sélectionné à l'aide de Swift Package Manager et dans votre projet C++.

Chaque produit Firebase ne peut prendre en charge qu'une sélection de plates-formes d'OS Apple (iOS, tvOS, etc.). Pour savoir quelles plates-formes sont compatibles avec chaque bibliothèque, consultez En savoir plus sur C++ et Firebase.

Produit Firebase Bibliothèques XCFrameworks et Swift Package Manager
Analytics (obligatoire) firebase.xcframework
firebase_analytics.xcframework

FirebaseAnalytics (13.1.1)
App Check (obligatoire) firebase.xcframework
firebase_app_check.xcframework

FirebaseAppCheck (13.1.1)
Authentication (obligatoire) firebase.xcframework
firebase_auth.xcframework

FirebaseAuth (13.1.1)
Cloud Firestore (obligatoire) firebase.xcframework
firebase_firestore.xcframework
firebase_auth.xcframework

FirebaseFirestore (13.1.1)
FirebaseAuth (13.1.1)
Cloud Functions (obligatoire) firebase.xcframework
firebase_functions.xcframework

FirebaseFunctions (13.1.1)
Cloud Messaging (obligatoire) firebase.xcframework
firebase_messaging.xcframework
(recommandé) firebase_analytics.xcframework

FirebaseMessaging (13.1.1)
(recommandé) FirebaseAnalytics (13.1.1)
Cloud Storage (obligatoire) firebase.xcframework
firebase_storage.xcframework

FirebaseStorage (13.1.1)
Realtime Database (obligatoire) firebase.xcframework
firebase_database.xcframework

FirebaseDatabase (13.1.1)
Remote Config (obligatoire) firebase.xcframework
firebase_remote_config.xcframework
(recommandé) firebase_analytics.xcframework

FirebaseRemoteConfig (13.1.1)
(recommandé) FirebaseAnalytics (13.1.1)
BIBLIOTHÈQUES OBSOLÈTES OU NON COMPATIBLES
Dynamic Links (obligatoire) firebase.xcframework
firebase_dynamic_links.xcframework
(recommandé) firebase_analytics.xcframework

FirebaseDynamicLinks (13.1.1)
(recommandé) FirebaseAnalytics (13.1.1)

Informations supplémentaires pour la configuration mobile

Intégrer sans utiliser Swift Package Manager

Si vous ne souhaitez pas utiliser Swift Package Manager pour gérer les dépendances sous-jacentes du SDK Firebase pour les plates-formes Apple, consultez Intégrer sans utiliser Swift Package Manager dans le guide de configuration des plates-formes Apple pour découvrir d'autres options d'intégration.

Méthode swizzling

Sur iOS, certains événements d'application (comme l'ouverture d'URL et la réception de notifications) nécessitent que le délégué de votre application implémente des méthodes spécifiques. Par exemple, pour recevoir une notification, le délégué de votre application peut avoir besoin d'implémenter application:didReceiveRemoteNotification:. Étant donné que chaque application iOS possède son propre délégué d'application, Firebase utilise la méthode swizzling, qui permet de remplacer une méthode par une autre, pour associer ses propres gestionnaires en plus de ceux que vous avez peut-être implémentés.

Les bibliothèques Dynamic Links et Cloud Messaging doivent associer des gestionnaires au délégué de l'application à l'aide de la méthode swizzling. Si vous utilisez l'un de ces produits Firebase, au moment du chargement, Firebase identifiera votre classe AppDelegate et y appliquera les méthodes requises, en chaînant un rappel à l'implémentation de votre méthode existante.

Configurer un workflow de bureau (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 au cours du développement. Pour prendre en charge ce workflow, nous fournissons un sous-ensemble des SDK Firebase C++ qui peuvent s'exécuter sous Windows, macOS, Linux et dans l'éditeur C++.

  1. Pour les workflows de bureau, 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 pour ordinateur du fichier de configuration Firebase :

    • Si vous avez ajouté le fichier Android google-services.json : lorsque vous exécutez votre application, Firebase localise ce fichier mobile, puis génère automatiquement un fichier de configuration Firebase desktop (google-services-desktop.json).

    • Si vous avez ajouté le fichier iOS GoogleService-Info.plist : avant d'exécuter votre application, vous devez convertir ce fichier mobile en fichier de configuration Firebase desktop. 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 pour ordinateur contient l'ID du projet C++ que vous avez saisi dans le workflow de configuration de la console Firebase. Pour en savoir plus sur les fichiers de configuration, consultez Comprendre les projets Firebase.

  3. Ajoutez les SDK Firebase à votre projet C++.

    Les étapes ci-dessous 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 des 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 le workflow pour ordinateur pour un sous-ensemble de fonctionnalités, ce qui permet d'utiliser certaines parties de Firebase dans des builds autonomes pour ordinateur sous 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 autres bibliothèques de bureau en tant qu'implémentations de bouchon (non fonctionnelles) pour faciliter 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 l'ordinateur.

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 : 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++ 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 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), les versions de la bibliothèque sont fournies pour la plate-forme 64 bits (x86_64). Des frameworks sont également fournis pour vous faciliter la tâche.

Notez que les bibliothèques macOS ont été testées avec Xcode 26.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, les versions de la 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++ sous Linux, associez la bibliothèque système pthread à votre projet. Pour en savoir plus, consultez la documentation de votre compilateur. Si vous effectuez la compilation avec GCC 5 ou une version ultérieure, définissez -D_GLIBCXX_USE_CXX11_ABI=0.

Étapes suivantes