Mit unseren Firebase C++ SDKs, die eine C++-Schnittstelle zusätzlich zu den Firebase SDKs bieten, können Sie Ihre C++-Spiele optimieren.
Sie können vollständig über Ihren C++-Code auf Firebase zugreifen, ohne plattformnativen Code schreiben zu müssen. Das Firebase SDK übersetzt auch viele sprachspezifische Idiome, die von Firebase verwendet werden, in eine Oberfläche, die C++-Entwicklern vertrauter ist.
Weitere Informationen dazu, wie Sie Ihre Spiele mit Firebase optimieren können, finden Sie auf der Firebase-Seite für Spiele.
Haben Sie Firebase bereits zu Ihrem C++-Projekt hinzugefügt? Achten Sie darauf, dass Sie die aktuelle Version des Firebase C++ SDK verwenden.
Vorbereitung
Installieren Sie Folgendes:
- Xcode 26.2 oder höher
Ihr Projekt muss auf die folgenden Plattformversionen oder höher ausgerichtet sein:
- iOS 15
- tvOS 15
Richten Sie ein physisches Gerät ein oder verwenden Sie den Simulator, um Ihre App auszuführen.
Schritt 2: Firebase-Projekt erstellen
Bevor Sie Firebase zu Ihrem C++-Projekt hinzufügen können, müssen Sie ein Firebase-Projekt erstellen, das mit Ihrem C++-Projekt verbunden wird. Weitere Informationen zu Firebase-Projekten finden Sie unter Firebase-Projekte.
Schritt 3: App bei Firebase registrieren
Wenn Sie Firebase in Ihrer Apple-App verwenden möchten, müssen Sie die App in Ihrem Firebase-Projekt registrieren. Die Registrierung Ihrer App wird oft als „Hinzufügen“ Ihrer App zu Ihrem Projekt bezeichnet.
Rufen Sie die Firebase-Konsole auf.
Klicken Sie in der Mitte der Projektübersicht auf das iOS+-Symbol, um den Einrichtungsworkflow zu starten.
Wenn Sie Ihrem Firebase-Projekt bereits eine App hinzugefügt haben, klicken Sie auf App hinzufügen, um die Plattformoptionen aufzurufen.
Geben Sie die Paket-ID Ihrer App in das Feld Paket-ID ein.
Optional: Geben Sie weitere App-Informationen ein: App-Alias und App Store-ID.
Klicken Sie auf App registrieren.
Schritt 4: Firebase-Konfigurationsdatei hinzufügen
Klicken Sie auf GoogleService-Info.plist herunterladen, um die Konfigurationsdatei für Firebase-Apple-Plattformen abzurufen.
Öffnen Sie Ihr C++-Projekt in einer IDE und ziehen Sie die Konfigurationsdatei in das Stammverzeichnis des C++-Projekts.
Wenn Sie dazu aufgefordert werden, wählen Sie aus, dass die Konfigurationsdatei allen Zielen hinzugefügt werden soll.
Sie haben die Einrichtungsaufgaben in der Firebase-Konsole abgeschlossen. Fahren Sie unten mit Firebase C++ SDKs hinzufügen fort.
Schritt 5: Firebase C++ SDKs hinzufügen
Die Schritte in diesem Abschnitt sind ein Beispiel dafür, wie Sie Ihrem Firebase-C++-Projekt unterstützte Firebase-Produkte hinzufügen.
Laden Sie das Firebase C++ SDK herunter und entpacken Sie es an einem für Sie günstigen Ort.
Das Firebase C++ SDK ist nicht plattformspezifisch, enthält aber plattformspezifische Bibliotheken.
Verwenden Sie Swift Package Manager, um die Abhängigkeiten des Firebase SDK für Apple-Plattformen zu installieren und zu verwalten.
Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Package Dependencies (Datei > Paketabhängigkeiten hinzufügen).
Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
https://github.com/firebase/firebase-ios-sdk.git
Wählen Sie für die Abhängigkeitsregel Genaue Version aus und geben Sie
13.1.1ein.Wählen Sie die Firebase-Bibliotheken aus, die Sie in Ihrer App verwenden möchten (z. B.
FirebaseAuthundFirebaseDatabase). Wenn Google Analytics in Ihrem Firebase-Projekt aktiviert ist, müssen SieFirebaseAnalyticshinzufügen.
Anschließend löst Xcode die Abhängigkeiten automatisch auf und lädt sie im Hintergrund herunter.
Fügen Sie Firebase-XCFrameworks aus dem Verzeichnis
xcframeworksdes entpackten SDK hinzu.Am einfachsten fügen Sie diese XCFrameworks hinzu, indem Sie sie aus einem
Finder-Fenster direkt in den Bereich Project Navigator von Xcode ziehen. Das ist standardmäßig der Bereich ganz links. Sie können auch auf das Dateisymbol oben links in Xcode klicken und die Frameworks dem Build-Ziel Ihrer App hinzufügen.Fügen Sie das Firebase C++-XCFramework
firebase.xcframeworkhinzu, das für die Verwendung von Firebase-Produkten erforderlich ist.Fügen Sie das XCFramework für jedes Firebase-Produkt hinzu, das Sie verwenden möchten. Wenn Sie beispielsweise Firebase Authentication verwenden möchten, fügen Sie
firebase_auth.xcframeworkhinzu.
Klicken Sie in der Firebase-Konsole im Einrichtungs-Workflow auf Weiter.
Wenn Sie Analytics hinzugefügt haben, führen Sie Ihre App aus, um eine Bestätigung an Firebase zu senden, dass Sie Firebase erfolgreich integriert haben. Andernfalls können Sie diesen Bestätigungsschritt überspringen.
In Ihren Geräteprotokollen wird die Firebase-Bestätigung angezeigt, dass die Initialisierung abgeschlossen ist. Wenn Sie Ihre App auf einem Emulator mit Netzwerkzugriff ausgeführt haben, werden Sie in der Firebase-Konsole darüber informiert, dass die App-Verbindung hergestellt wurde.
Fertig! Ihre C++-Anwendung ist registriert und für die Verwendung von Firebase-Produkten konfiguriert.
Verfügbare Bibliotheken
Weitere Informationen zu den C++-Firebase-Bibliotheken finden Sie in der Referenzdokumentation und in unserem Open-Source-SDK-Release auf GitHub.
Verfügbare Bibliotheken für Apple-Plattformen
C++-Bibliotheken für Android sind auf der Android-Version dieser Einrichtungsseite aufgeführt.
Jedes Firebase-Produkt hat andere Abhängigkeiten. Fügen Sie alle aufgeführten Abhängigkeiten für das ausgewählte Firebase-Produkt mit Swift Package Manager und in Ihrem C++-Projekt hinzu.
Jedes Firebase-Produkt unterstützt möglicherweise nur eine Auswahl von Apple-Betriebssystemen (iOS, tvOS usw.). Unter Weitere Informationen zu C++ und Firebase können Sie nachsehen, welche Plattformen von den einzelnen Bibliotheken unterstützt werden.
| Firebase-Produkt | XCFrameworks- und Swift Package Manager-Bibliotheken |
|---|---|
| Analytics |
(erforderlich) firebase.xcframeworkfirebase_analytics.xcframeworkFirebaseAnalytics (13.1.1)
|
| App Check |
(erforderlich) firebase.xcframeworkfirebase_app_check.xcframeworkFirebaseAppCheck (13.1.1)
|
| Authentication |
(erforderlich) firebase.xcframeworkfirebase_auth.xcframeworkFirebaseAuth (13.1.1)
|
| Cloud Firestore |
(erforderlich) firebase.xcframeworkfirebase_firestore.xcframeworkfirebase_auth.xcframeworkFirebaseFirestore (13.1.1)FirebaseAuth (13.1.1)
|
| Cloud Functions |
(erforderlich) firebase.xcframeworkfirebase_functions.xcframeworkFirebaseFunctions (13.1.1)
|
| Cloud Messaging |
(erforderlich) firebase.xcframeworkfirebase_messaging.xcframework(empfohlen) firebase_analytics.xcframeworkFirebaseMessaging (13.1.1)(empfohlen) FirebaseAnalytics (13.1.1)
|
| Cloud Storage |
(erforderlich) firebase.xcframeworkfirebase_storage.xcframeworkFirebaseStorage (13.1.1)
|
| Realtime Database |
(erforderlich) firebase.xcframeworkfirebase_database.xcframeworkFirebaseDatabase (13.1.1)
|
| Remote Config |
(erforderlich) firebase.xcframeworkfirebase_remote_config.xcframework(empfohlen) firebase_analytics.xcframeworkFirebaseRemoteConfig (13.1.1)(empfohlen) FirebaseAnalytics (13.1.1)
|
| VERALTETE ODER NICHT UNTERSTÜTZTE BIBLIOTHEKEN | |
| Dynamic Links |
(erforderlich) firebase.xcframeworkfirebase_dynamic_links.xcframework(empfohlen) firebase_analytics.xcframeworkFirebaseDynamicLinks (13.1.1)(empfohlen) FirebaseAnalytics (13.1.1)
|
Zusätzliche Informationen zur Einrichtung auf Mobilgeräten
Ohne Swift Package Manager einbinden
Wenn Sie Swift Package Manager nicht zum Verwalten der zugrunde liegenden Firebase Apple-Plattform-SDK-Abhängigkeiten verwenden möchten, finden Sie im Einrichtungsleitfaden für Apple-Plattformen unter Ohne Swift Package Manager einbinden alternative Einbindungsoptionen.
Method Swizzling
Unter iOS erfordern einige Anwendungsereignisse (z. B. das Öffnen von URLs und das Empfangen von Benachrichtigungen), dass Ihr Anwendungsdelegat bestimmte Methoden implementiert. Für den Empfang einer Benachrichtigung muss beispielsweise der Anwendungs-Delegate application:didReceiveRemoteNotification: implementieren. Da jede iOS-Anwendung einen eigenen App-Delegaten hat, verwendet Firebase Method Swizzling, um eine Methode durch eine andere zu ersetzen und zusätzlich zu den von Ihnen implementierten Handlern eigene Handler anzuhängen.
Die Bibliotheken Dynamic Links und Cloud Messaging müssen Handler mithilfe von Method Swizzling an den App-Delegaten anhängen. Wenn Sie eines dieser Firebase-Produkte verwenden, identifiziert Firebase beim Laden Ihre AppDelegate-Klasse und swizzelt die erforderlichen Methoden darauf. Dabei wird ein Aufruf an Ihre vorhandene Methodenimplementierung zurückgegeben.
Desktop-Workflow einrichten (Beta)
Wenn Sie ein Spiel erstellen, ist es oft viel einfacher, es zuerst auf Desktop-Plattformen zu testen und dann später in der Entwicklung auf Mobilgeräten bereitzustellen und zu testen. Zur Unterstützung dieses Workflows bieten wir eine Teilmenge der Firebase C++ SDKs an, die unter Windows, macOS, Linux und im C++-Editor ausgeführt werden können.
Für Desktop-Workflows müssen Sie Folgendes tun:
- Konfigurieren Sie Ihr C++-Projekt für CMake.
- Firebase-Projekt erstellen
- App (iOS oder Android) bei Firebase registrieren
- Firebase-Konfigurationsdatei für eine mobile Plattform hinzufügen
Erstellen Sie eine Desktopversion der Firebase-Konfigurationsdatei:
Wenn Sie die Android-Datei
google-services.jsonhinzugefügt haben: Wenn Sie Ihre App ausführen, sucht Firebase nach dieser mobilen Datei und generiert dann automatisch eine Firebase-Konfigurationsdatei für Computer (google-services-desktop.json).Wenn Sie die iOS-Datei
GoogleService-Info.plisthinzugefügt haben: Bevor Sie Ihre App ausführen, müssen Sie diese mobile Datei in eine Desktop-Firebase-Konfigurationsdatei konvertieren. Führen Sie den folgenden Befehl im selben Verzeichnis wie die DateiGoogleService-Info.plistaus, um die Datei zu konvertieren:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Diese Desktop-Konfigurationsdatei enthält die C++-Projekt-ID, die Sie im Firebase-Konsoleneinrichtungsworkflow eingegeben haben. Weitere Informationen zu Konfigurationsdateien finden Sie unter Firebase-Projekte.
Fügen Sie Ihrem C++-Projekt Firebase SDKs hinzu.
Die folgenden Schritte dienen als Beispiel dafür, wie Sie Ihrem C++-Projekt ein beliebiges unterstütztes Firebase-Produkt hinzufügen können. In diesem Beispiel fügen wir Firebase Authentication und Firebase Realtime Database hinzu.
Legen Sie die Umgebungsvariable
FIREBASE_CPP_SDK_DIRauf den Speicherort des entpackten Firebase C++ SDK fest.Fügen Sie der Datei
CMakeLists.txtIhres Projekts den folgenden Inhalt hinzu, einschließlich der Bibliotheken für die Firebase-Produkte, die Sie verwenden möchten. Beispiel für die Verwendung von Firebase Authentication und 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}")
Führen Sie Ihre C++-Anwendung aus.
Verfügbare Bibliotheken (Desktop)
Das Firebase C++ SDK bietet Unterstützung für Desktop-Workflows für eine Teilmenge von Funktionen, sodass bestimmte Teile von Firebase in eigenständigen Desktop-Builds unter Windows, macOS und Linux verwendet werden können.
| Firebase-Produkt | Bibliotheksreferenzen (mit CMake) |
|---|---|
| App Check |
firebase_app_check(erforderlich) firebase_app
|
| Authentication |
firebase_auth(erforderlich) firebase_app
|
| Cloud Firestore |
firebase_firestorefirebase_authfirebase_app
|
| Cloud Functions |
firebase_functions(erforderlich) firebase_app
|
| Cloud Storage |
firebase_storage(erforderlich) firebase_app
|
| Realtime Database |
firebase_database(erforderlich) firebase_app
|
| Remote Config |
firebase_remote_config(erforderlich) firebase_app
|
Die restlichen Desktop-Bibliotheken werden von Firebase als Stub-Implementierungen (nicht funktionsfähig) bereitgestellt, um die Entwicklung für Windows, macOS und Linux zu vereinfachen. Daher müssen Sie keinen Code bedingt kompilieren, um den Desktop zu erreichen.
Realtime Database-Desktopcomputer
Das Realtime Database SDK für Computer verwendet REST, um auf Ihre Datenbank zuzugreifen. Daher müssen Sie die Indexe deklarieren, die Sie mit Query::OrderByChild() auf dem Computer verwenden, da sonst Ihre Listener fehlschlagen.
Zusätzliche Informationen zur Einrichtung auf dem Computer
Windows-Bibliotheken
Für Windows werden Bibliotheksversionen basierend auf Folgendem bereitgestellt:
- Build-Plattform: 32-Bit-Modus (x86) oder 64-Bit-Modus (x64)
- Windows-Laufzeitumgebung: Multithreaded / MT im Vergleich zu Multithreaded DLL / MD
- Ziel: Release oder Debug
Die folgenden Bibliotheken wurden mit Visual Studio 2015 und 2017 getestet.
Wenn Sie C++-Desktop-Apps unter Windows erstellen, verknüpfen Sie die folgenden Windows SDK-Bibliotheken mit Ihrem Projekt. Weitere Informationen finden Sie in der Dokumentation Ihres Compilers.
| Firebase C++-Bibliothek | Windows SDK-Bibliotheksabhängigkeiten |
|---|---|
| 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 |
macOS-Bibliotheken
Für macOS (Darwin) werden Bibliotheksversionen für die 64-Bit-Plattform (x86_64) bereitgestellt. Frameworks werden ebenfalls bereitgestellt.
Die macOS-Bibliotheken wurden mit Xcode 26.2 getestet.
Wenn Sie C++-Desktop-Apps unter macOS erstellen, verknüpfen Sie Folgendes mit Ihrem Projekt:
pthreadSystembibliothekCoreFoundationmacOS-SystemframeworkFoundationmacOS-SystemframeworkSecuritymacOS-SystemframeworkGSSmacOS-SystemframeworkKerberosmacOS-SystemframeworkSystemConfigurationmacOS-Systemframework
Weitere Informationen finden Sie in der Dokumentation Ihres Compilers.
Linux-Bibliotheken
Für Linux werden Bibliotheksversionen für 32-Bit- (i386) und 64-Bit-Plattformen (x86_64) bereitgestellt.
Die Linux-Bibliotheken wurden mit GCC 4.8.0, GCC 7.2.0 und Clang 5.0 unter Ubuntu getestet.
Wenn Sie C++-Desktop-Apps unter Linux erstellen, verknüpfen Sie die Systembibliothek pthread mit Ihrem Projekt. Weitere Informationen finden Sie in der Dokumentation Ihres Compilers. Wenn Sie mit GCC 5 oder höher entwickeln, definieren Sie -D_GLIBCXX_USE_CXX11_ABI=0.
Nächste Schritte
Firebase-Beispiel-Apps ansehen
Open-Source-SDK in GitHub ansehen
Bereiten Sie die Einführung Ihrer App vor:
- Richten Sie in der Google Cloud Console Budgetbenachrichtigungen für Ihr Projekt ein.
- Im Dashboard „Nutzung und Abrechnung“ in der Firebase-Konsole können Sie sich einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten verschaffen.
- Sehen Sie sich die Checkliste für die Einführung von Firebase an.