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 les éléments suivants :
- Xcode 16.2 ou version ultérieure
- CocoaPods 1.12.0 ou version ultérieure
Assurez-vous que votre projet cible les versions de plate-forme suivantes ou ultérieures :
- iOS 13
- tvOS 13
Configurez un appareil physique ou utilisez le simulateur pour exécuter votre application.
Voulez-vous utiliser Cloud Messaging ?
Voici les prérequis pour Cloud Messaging sur les plates-formes Apple :
- Configurez un appareil Apple physique.
- Obtenez une clé d'authentification Apple Push Notification pour votre compte de développeur Apple.
- Activez les notifications push dans Xcode sous App > Capabilities.
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.
Créer un projet Firebase
-
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.
-
-
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 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.
-
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 Apple, vous devez enregistrer votre application dans 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 iOS+ pour lancer le workflow de configuration.
Si vous avez déjà ajouté une application à votre projet Firebase, cliquez sur Ajouter une application pour afficher les options de plate-forme.
Saisissez l'ID du bundle de votre application dans le champ ID du bundle.
Qu'est-ce qu'un ID de bundle et où le trouver ?
Un ID de bundle identifie de manière unique une application dans l'écosystème Apple.
Pour trouver l'ID du bundle, ouvrez votre projet dans Xcode, sélectionnez l'application de premier niveau dans le navigateur de projet, puis sélectionnez l'onglet Général.
La valeur du champ Bundle Identifier (Identifiant du bundle) correspond à l'ID du bundle (par exemple,
com.yourcompany.yourproject
).Notez que la valeur de l'ID du bundle est sensible à la casse et qu'elle ne peut pas être modifiée pour cette application Firebase une fois qu'elle est enregistrée dans votre projet Firebase.
(Facultatif) Saisissez d'autres informations sur l'application : Nom de l'application et ID de l'App Store.
Comment le surnom de l'application et l'ID App Store sont-ils utilisés dans Firebase ?
Nom abrégé de l'application : identifiant interne pratique qui n'est visible que par vous dans la console Firebase.
ID App Store : utilisé par Firebase Dynamic Links pour rediriger les utilisateurs vers votre page App Store et par Google Analytics pour importer les événements de conversion dans Google Ads. Si votre application ne possède pas encore d'ID App Store, vous pourrez l'ajouter ultérieurement dans les paramètres de votre projet.
Cliquez sur Enregistrer l'application.
Étape 4 : Ajoutez le fichier de configuration Firebase
Cliquez sur Télécharger GoogleService-Info.plist pour obtenir votre fichier de configuration Firebase pour les plates-formes Apple.
Que devez-vous savoir sur ce fichier de configuration ?
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)
.
Ouvrez votre projet C++ dans un IDE, puis faites glisser votre fichier de configuration dans la racine de votre projet C++.
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 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++.
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.
Ajoutez les pods Firebase à partir du SDK décompressé.
Créez un fichier Podfile si vous n'en possédez pas :
cd
your-app-directory pod init
Ajoutez à votre Podfile les pods Firebase que vous souhaitez utiliser dans votre application.
# Add the Firebase pod for Google Analytics pod 'FirebaseAnalytics'
# Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'# Add the pods for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'
Installez les pods, puis ouvrez le fichier
.xcworkspace
dans Xcode.pod install
open
your-app .xcworkspace
Ajoutez les frameworks Firebase à partir du SDK décompressé.
Le moyen le plus simple d'ajouter ces frameworks consiste généralement à les faire glisser depuis une fenêtre
Finder
directement dans le volet Project Navigator d'Xcode (le volet le plus à gauche par défaut, ou cliquez sur l'icône de fichier en haut à gauche d'Xcode).Ajoutez le framework Firebase C++
firebase.framework
, qui est obligatoire pour utiliser n'importe quel produit Firebase.Ajoutez le framework pour chaque produit Firebase que vous souhaitez utiliser. Par exemple, pour utiliser Firebase Authentication, ajoutez
firebase_auth.framework
.
De retour dans la console Firebase, dans le workflow de configuration, cliquez sur Suivant.
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 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 produits Firebase.
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 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 souhaité à votre Podfile et à votre projet C++.
Chaque produit Firebase ne peut prendre en charge qu'une sélection de plates-formes 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 | Frameworks et pods |
---|---|
AdMob |
(obligatoire) firebase.framework firebase_admob.framework (obligatoire) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (obligatoire) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(obligatoire) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(obligatoire) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(obligatoire) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(obligatoire) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(obligatoire) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(obligatoire) firebase.framework firebase_messaging.framework (recommandé) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (recommandé) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(obligatoire) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(obligatoire) firebase.framework firebase_dynamic_links.framework (recommandé) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (recommandé) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(obligatoire) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(obligatoire) firebase.framework firebase_remote_config.framework (recommandé) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (recommandé) pod 'FirebaseAnalytics', '12.0.0'
|
Informations supplémentaires pour la configuration sur mobile
Méthode swizzling
Sur iOS, certains événements d'application (tels que 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, la réception d'une notification peut nécessiter l'implémentation de application:didReceiveRemoteNotification:
par le délégué de votre application. Étant donné que chaque application iOS possède son propre délégué d'application, Firebase utilise le swizzling de méthode, qui permet de remplacer une méthode par une autre, pour attacher 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é d'application à l'aide du swizzling de méthode. Si vous utilisez l'un de ces produits Firebase, Firebase identifiera votre classe AppDelegate
au moment du chargement et permutera les méthodes requises sur celle-ci, en chaînant un rappel à l'implémentation de votre méthode existante.
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++.
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 plate-forme mobile
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 fichierGoogleService-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.
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.
Définissez votre variable d'environnement
FIREBASE_CPP_SDK_DIR
sur l'emplacement du SDK Firebase C++ 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 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 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è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
Explorez les exemples d'applications Firebase.
Explorez le SDK Open Source sur GitHub.
Préparez-vous à lancer votre application :
- Configurez des alertes budgétaires pour votre projet dans la console Google Cloud.
- Surveillez le tableau de bord "Utilisation et facturation" de la console Firebase pour obtenir une vue d'ensemble de l'utilisation de votre projet dans plusieurs services Firebase.
- Consultez la checklist de lancement de Firebase.