Ajouter Firebase à votre projet C ++
Améliorez vos jeux C ++ avec nos SDK Firebase C ++ qui fournissent une interface C ++ au-dessus de Firebase pour iOS et pour Android.
Accédez à Firebase entièrement à partir de votre code C ++, sans avoir à écrire de code natif de la plateforme. Le SDK Firebase traduit également de nombreux idiomes spécifiques au langage utilisés par Firebase en une interface plus familière aux développeurs C ++.
Pour plus d'informations sur la mise sous tension de vos jeux avec Firebase, consultez notre page de jeux Firebase .
Vous avez déjà ajouté Firebase à votre projet C ++? Assurez-vous que vous utilisez la dernière version du SDK Firebase C ++ .
Conditions préalables
Installez ce qui suit:
- Xcode 10.3.0 ou version ultérieure
- CocoaPods 1.9.0 ou version ultérieure
Assurez-vous que votre projet cible iOS 10 ou version ultérieure.
Configurez un appareil iOS physique ou utilisez le simulateur iOS pour exécuter votre application.
Pour Cloud Messaging sur iOS, voici les prérequis:
- Configurez un appareil iOS 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 à l' aide de 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.
Étape 3 : enregistrez votre application avec Firebase
Une fois que vous avez un projet Firebase, vous pouvez y ajouter votre application iOS.
Consultez Comprendre les projets Firebase pour en savoir plus sur les bonnes pratiques et les considérations relatives à l'ajout d'applications à un projet Firebase, y compris sur la manière de gérer plusieurs variantes de build.
Accédez à la console Firebase .
Au centre de la page de
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 la plate-forme.
Entrez l'ID de groupe de votre application dans le champ ID de groupe iOS .
Un identifiant de bundle identifie de manière unique une application dans l'écosystème Apple.
Trouvez votre ID de bundle: ouvrez votre projet iOS dans Xcode, sélectionnez l'application de niveau supérieur dans le navigateur de projet, puis sélectionnez l'onglet Général .
La valeur du champ Identifiant du bundle est l'ID du bundle iOS (par exemple,
com.yourcompany.yourproject
).Sachez 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 iOS une fois qu'elle est enregistrée auprès de votre projet Firebase.
(Facultatif) Saisissez d'autres informations sur l'application: le surnom de l' application et l' identifiant de l'App Store .
Pseudo 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 n'a pas encore d'identifiant App Store, vous pouvez 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 iOS.
Le fichier de configuration Firebase contient des identifiants uniques mais non secrets pour votre projet. Pour en savoir plus sur ce fichier de configuration, consultez la page Comprendre les projets Firebase .
Vous pouvez télécharger à nouveau votre fichier de configuration Firebase à tout moment.
Assurez-vous que le nom du fichier de configuration n'est pas ajouté avec des caractères supplémentaires, comme
(2)
.
Ouvrez votre projet C ++ dans un IDE, puis faites glisser votre fichier de configuration à la racine de votre projet C ++.
Si vous y êtes invité, sélectionnez pour ajouter le fichier de configuration à toutes les cibles.
Vous avez terminé les tâches de configuration dans la console Firebase. Continuez à ajouter des SDK Firebase C ++ ci-dessous.
Étape 5 : Ajouter des SDK Firebase C ++
Les étapes de cette section sont un exemple d'ajout de produits Firebase pris en charge à votre projet Firebase C ++.
Téléchargez le SDK Firebase C ++ , puis décompressez le SDK dans un endroit pratique.
Le SDK Firebase C ++ n'est pas spécifique à la plate-forme, mais il contient des bibliothèques spécifiques à la plate-forme.
Ajoutez des pods Firebase à partir du SDK décompressé.
Créez un Podfile si vous n'en avez pas déjà un:
cd your-app-directory
pod init
À votre Podfile, ajoutez les pods Firebase que vous souhaitez utiliser dans votre application.
Analytics activé
# Add the Firebase pod for Google Analytics pod 'Firebase/Analytics'
# 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 'Firebase/Auth' pod 'Firebase/Database'Analytics non activé
# 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 'Firebase/Auth' pod 'Firebase/Database'
Installez les pods, puis ouvrez le fichier
.xcworkspace
dans Xcode.pod install
open your-app.xcworkspace
Ajoutez des frameworks Firebase à partir du SDK décompressé.
Le moyen le plus simple d'ajouter ces frameworks est généralement de les faire glisser depuis une fenêtre
Finder
directement dans le volet Navigateur de projet de Xcode (le volet extrême gauche, par défaut; ou cliquez sur l'icône de fichier en haut à gauche de Xcode).Ajoutez le framework Firebase C ++
firebase.framework
, qui est requis pour utiliser n'importe quel produit Firebase.Ajoutez le framework pour chaque produit Firebase que vous souhaitez utiliser. Par exemple, pour utiliser l'authentification Firebase, 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 la vérification à Firebase que vous avez correctement intégré Firebase. Sinon, vous pouvez ignorer cette étape de vérification.
Les journaux de votre appareil afficheront la vérification Firebase 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 prêt! Votre application C ++ est enregistrée et configurée pour utiliser les produits Firebase.
Bibliothèques disponibles
En savoir plus sur les bibliothèques C ++ Firebase dans la documentation de référence et dans notre version du SDK open-source sur GitHub .
Bibliothèques disponibles pour iOS
Notez que les bibliothèques C ++ pour Android sont répertoriées dans la version Android de cette page de configuration .
Chaque produit Firebase a des dépendances différentes. Assurez-vous d'ajouter toutes les dépendances répertoriées pour le produit Firebase souhaité à votre projet Podfile et C ++.
Produit Firebase | Cadres et modules |
---|---|
AdMob | (obligatoire) firebase.framework firebase_admob.framework (obligatoire) firebase_analytics.framework pod 'Firebase/AdMob', '6.32.2' (obligatoire) pod 'Firebase/Analytics', '6.32.2' |
Analytique | (obligatoire) firebase.framework firebase_analytics.framework pod 'Firebase/Analytics', '6.32.2' |
Authentification | (obligatoire) firebase.framework firebase_auth.framework pod 'Firebase/Auth', '6.32.2' |
Cloud Firestore (alpha) | (obligatoire) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'Firebase/Firestore', '6.32.2' pod 'Firebase/Auth', '6.32.2' |
Fonctions cloud | (obligatoire) firebase.framework firebase_functions.framework pod 'Firebase/Functions', '6.32.2' |
Messagerie cloud | (obligatoire) firebase.framework firebase_messaging.framework (recommandé) firebase_analytics.framework pod 'Firebase/Messaging', '6.32.2' (recommandé) pod 'Firebase/Analytics', '6.32.2' |
Stockage en ligne | (obligatoire) firebase.framework firebase_storage.framework pod 'Firebase/Storage', '6.32.2' |
Liens dynamiques | (obligatoire) firebase.framework firebase_dynamic_links.framework (recommandé) firebase_analytics.framework pod 'Firebase/DynamicLinks', '6.32.2' (recommandé) pod 'Firebase/Analytics', '6.32.2' |
Base de données en temps réel | (obligatoire) firebase.framework firebase_database.framework pod 'Firebase/Database', '6.32.2' |
Configuration à distance | (obligatoire) firebase.framework firebase_remote_config.framework (recommandé) firebase_analytics.framework pod 'Firebase/RemoteConfig', '6.32.2' (recommandé) pod 'Firebase/Analytics', '6.32.2' |
Informations supplémentaires pour la configuration 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 votre délégué d'application implémente des méthodes spécifiques. Par exemple, la réception d'une notification peut nécessiter que votre délégué d' application:didReceiveRemoteNotification:
implémente l' application:didReceiveRemoteNotification:
Étant donné que chaque application iOS a son propre délégué d'application, Firebase utilise le swizzling de méthode , qui permet le remplacement d'une méthode par une autre, pour attacher ses propres gestionnaires en plus de ceux que vous auriez pu implémenter.
Les bibliothèques de liens dynamiques et de messagerie cloud doivent attacher des gestionnaires au délégué d'application à l'aide de la méthode swizzling. Si vous utilisez un de ces produits Firebase, au moment du chargement, Firebase identifiera votre AppDelegate
classe et SWIZZLE les méthodes nécessaires sur celui - ci, enchaînant un retour d'appel à votre implémentation de la méthode existante.
Configurer un workflow de bureau ( bêta )
Lorsque vous créez un jeu, il est souvent beaucoup plus facile de tester d'abord votre jeu 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 flux de travail, nous fournissons un sous - ensemble des SDK Firebase C ++ qui peuvent s'exécuter sous Windows, macOS, Linux et à partir de l'éditeur C ++.
Pour les flux de travail de bureau, vous devez effectuer les opérations suivantes:
- Configurez votre projet C ++ pour CMake.
- Créer un projet Firebase
- Enregistrez votre application (iOS ou Android) avec Firebase
- Ajouter un fichier de configuration Firebase de plate-forme mobile
Créez une version de bureau 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 de bureau (google-services-desktop.json
).Si vous avez ajouté le
GoogleService-Info.plist
iOSGoogleService-Info.plist
- Avant d'exécuter votre application, vous devez convertir ce fichier mobile en fichier de configuration Firebase de bureau . 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 de bureau contient l'ID de projet C ++ que vous avez entré dans le workflow de configuration de la console Firebase. Consultez Comprendre les projets Firebase pour en savoir plus sur les fichiers de configuration.
Ajoutez des SDK Firebase à votre projet C ++.
Les étapes ci-dessous servent d'exemple pour ajouter un produit Firebase pris en charge à votre projet C ++. Dans cet exemple, nous vous présentons l'ajout de l'authentification Firebase et de la base de données Firebase Realtime.
Définissez votre variable d'environnement
FIREBASE_CPP_SDK_DIR
sur l'emplacement du SDK Firebase C ++ décompressé.Au fichier
CMakeLists.txt
votre projet, ajoutez le contenu suivant, y compris les bibliothèques des produits Firebase que vous souhaitez utiliser. Par exemple, pour utiliser l'authentification Firebase et la base de données Firebase Realtime:# 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 (bureau)
Le SDK Firebase C ++ inclut la prise en charge du flux de travail de bureau pour un sous-ensemble de fonctionnalités, permettant à certaines parties de Firebase d'être utilisées dans des versions de bureau autonomes sous Windows, macOS et Linux.
Produit Firebase | Références de bibliothèque (en utilisant CMake) |
---|---|
Authentification | firebase_auth (obligatoire) firebase_app |
Cloud Firestore (alpha) | firebase_firestore firebase_auth firebase_app |
Fonctions cloud | firebase_functions (obligatoire) firebase_app |
Stockage en ligne | firebase_storage (obligatoire) firebase_app |
Base de données en temps réel | firebase_database (obligatoire) firebase_app |
Configuration à distance | firebase_remote_config (obligatoire) firebase_app |
Firebase fournit les bibliothèques de bureau restantes sous forme d'implémentations stub (non fonctionnelles) pour plus de commodité lors de la création pour Windows, macOS et Linux. Par conséquent, vous n'avez pas besoin de compiler du code conditionnellement pour cibler le bureau.
Bureau de base de données en temps réel
Le SDK de base de données en temps réel pour le bureau utilise REST pour accéder à votre base de données, vous devez donc déclarer les index que vous utilisez avec Query::OrderByChild()
sur le bureau ou vos écouteurs échoueront.
Informations supplémentaires pour la configuration du bureau
Bibliothèques Windows
Pour Windows, les versions de bibliothèque sont fournies en fonction des éléments suivants:
- Plateforme de construction: mode 32 bits (x86) vs 64 bits (x64)
- Environnement d'exécution Windows: multithread / MT vs multithread DLL / MD
- Cible: Release vs Debug
Notez que les bibliothèques suivantes ont été testées à l'aide de Visual Studio 2015 et 2017.
Lors de la création d'applications de bureau C ++ sous Windows, liez les bibliothèques SDK Windows suivantes à votre projet. Consultez la documentation de votre compilateur pour plus d'informations.
Bibliothèque Firebase C ++ | Dépendances de la bibliothèque du SDK Windows |
---|---|
Authentification | advapi32, ws2_32, crypt32 |
Cloud Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Fonctions cloud | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Stockage en ligne | advapi32, ws2_32, crypt32 |
Base de données en temps réel | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Configuration à distance | 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 cadres sont également fournis pour votre commodité.
Notez que les bibliothèques macOS ont été testées avec Xcode 10.3.0.
Lors de la création d'applications de bureau C ++ sur macOS, associez les éléments suivants à votre projet:
- bibliothèque système
pthread
-
CoreFoundation
système macOSCoreFoundation
- Framework système macOS
Foundation
- Cadre du système de
Security
macOS - Cadre du système
GSS
macOS - Framework système
Kerberos
macOS -
SystemConfiguration
système macOSSystemConfiguration
Consultez la documentation de votre compilateur pour plus d'informations.
Bibliothèques Linux
Pour Linux, les 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.
Lors de la création d'applications de bureau C ++ sous Linux, liez la bibliothèque système pthread
à votre projet. Consultez la documentation de votre compilateur pour plus d'informations. Si vous construisez avec GCC 5 ou version ultérieure, définissez -D_GLIBCXX_USE_CXX11_ABI=0
.
Prochaines étapes
Découvrez des exemples d'applications Firebase .
Explorez le SDK open source dans GitHub .
Préparez-vous à lancer votre application:
- Configurez des alertes budgétaires pour votre projet dans la console Google Cloud.
- Surveillez votre tableau de bord d'utilisation et de facturation dans la console Firebase.
- Consultez la liste de contrôle de lancement de Firebase .