Ulepsz swoje gry w C++ dzięki pakietom Firebase C++ SDK, które zapewniają interfejs C++ na bazie pakietów Firebase SDK.
Uzyskaj dostęp do Firebase całkowicie z poziomu kodu C++, bez konieczności pisania kodu natywnego dla platformy. Pakiet SDK Firebase tłumaczy też wiele idiomów językowych używanych przez Firebase na interfejs bardziej znany programistom C++.
Więcej informacji o ulepszaniu gier za pomocą Firebase znajdziesz na stronie gier Firebase.
Masz już Firebase w projekcie C++? Upewnij się, że używasz najnowszej wersji pakietu SDK Firebase C++.
Wymagania wstępne
Zainstaluj te elementy:
- Xcode 26.2 lub nowszy,
Upewnij się, że Twój projekt jest kierowany na te wersje platformy lub nowsze:
- iOS 15,
- tvOS 15
Skonfiguruj urządzenie fizyczne lub użyj symulatora, aby uruchomić aplikację.
Zaloguj się w Firebase za pomocą konta Google.
Krok 2. Utwórz projekt w Firebase
Zanim dodasz Firebase do projektu C++, musisz utworzyć projekt Firebase, aby połączyć go z projektem C++. Więcej informacji o projektach w Firebase znajdziesz w artykule Informacje o projektach w Firebase.
Krok 3. Zarejestruj aplikację w Firebase
Aby używać Firebase w aplikacji na urządzenia Apple, musisz zarejestrować aplikację w projekcie w Firebase. Rejestrowanie aplikacji jest często nazywane „dodawaniem” aplikacji do projektu.
Otwórz konsolę Firebase.
Na środku strony Przegląd projektu kliknij ikonę iOS+, aby uruchomić proces konfiguracji.
Jeśli masz już aplikację dodaną do projektu w Firebase, kliknij Dodaj aplikację, aby wyświetlić opcje platformy.
W polu Identyfikator pakietu wpisz identyfikator pakietu aplikacji.
(Opcjonalnie) Wpisz inne informacje o aplikacji: Nazwa aplikacji i Identyfikator sklepu z aplikacjami.
Kliknij Zarejestruj aplikację.
Krok 4. Dodaj plik konfiguracji Firebase
Kliknij Pobierz GoogleService-Info.plist, aby uzyskać plik konfiguracyjny Firebase dla platform Apple.
Otwórz projekt C++ w środowisku IDE, a następnie przeciągnij plik konfiguracji do katalogu głównego projektu C++.
Jeśli pojawi się taka prośba, wybierz opcję dodania pliku konfiguracji do wszystkich środowisk docelowych.
Zadania konfiguracyjne w konsoli Firebase zostały zakończone. Przejdź do sekcji Dodawanie pakietów Firebase C++ SDK poniżej.
Krok 5. Dodaj pakiety Firebase C++ SDK
Kroki opisane w tej sekcji pokazują, jak dodać obsługiwane usługi Firebase do projektu Firebase w C++.
Pobierz pakiet SDK Firebase C++, a następnie rozpakuj go w dogodnym miejscu.
Pakiet SDK Firebase C++ nie jest przeznaczony na konkretną platformę, ale zawiera biblioteki dla konkretnych platform.
Użyj menedżera pakietów Swift, aby zainstalować zależności pakietu SDK Firebase na platformy Apple i nimi zarządzać.
W Xcode, gdy projekt aplikacji jest otwarty, kliknij File > Add Package Dependencies (Plik > Dodaj zależności pakietu).
Gdy pojawi się prośba, dodaj repozytorium pakietu SDK Firebase na platformy Apple:
https://github.com/firebase/firebase-ios-sdk.git
W przypadku reguły zależności wybierz Dokładna wersja i wpisz
13.1.1.Wybierz biblioteki Firebase, których chcesz używać w aplikacji (np.
FirebaseAuthiFirebaseDatabase). Jeśli w projekcie w Firebase masz włączoną usługę Google Analytics, dodajFirebaseAnalytics.
Gdy skończysz, Xcode zacznie automatycznie przetwarzać i pobierać zależności w tle.
Dodaj XCFrameworks Firebase z katalogu
xcframeworksrozpakowanego pakietu SDK.Najłatwiejszym sposobem dodania tych plików XCFramework jest zwykle przeciągnięcie ich z okna
Finderbezpośrednio do panelu Project Navigator w Xcode (domyślnie jest to panel po lewej stronie; możesz też kliknąć ikonę pliku w lewym górnym rogu Xcode) i dodanie ich do celu kompilacji aplikacji.Dodaj pakiet Firebase C++ XCFramework
firebase.xcframework, który jest wymagany do korzystania z dowolnej usługi Firebase.Dodaj XCFramework dla każdej usługi Firebase, której chcesz używać. Na przykład, aby użyć właściwości Firebase Authentication, dodaj
firebase_auth.xcframework.
Wróć do konsoli Firebase i w procesie konfiguracji kliknij Dalej.
Jeśli dodano Analytics, uruchom aplikację, aby wysłać do Firebase potwierdzenie, że integracja z Firebase została przeprowadzona prawidłowo. W przeciwnym razie możesz pominąć ten krok weryfikacji.
W dziennikach urządzenia pojawi się informacja o zakończeniu inicjalizacji Firebase. Jeśli aplikacja została uruchomiona w emulatorze z dostępem do sieci, w konsoli Firebase pojawi się powiadomienie, że połączenie z aplikacją zostało nawiązane.
To już wszystko Twoja aplikacja w C++ jest zarejestrowana i skonfigurowana do korzystania z usług Firebase.
Dostępne biblioteki
Więcej informacji o bibliotekach Firebase w C++ znajdziesz w dokumentacji referencyjnej i w wersji pakietu SDK open source na GitHubie.
Dostępne biblioteki na platformy Apple
Pamiętaj, że biblioteki C++ na Androida są wymienione w wersji tej strony konfiguracji na Androida.
Każda usługa Firebase ma inne zależności. Pamiętaj, aby dodać wszystkie wymienione zależności dla wybranej usługi Firebase za pomocą menedżera pakietów Swift i w projekcie C++.
Każda usługa Firebase może obsługiwać tylko wybrane platformy systemów operacyjnych Apple (iOS, tvOS itp.). Sprawdź, które platformy są obsługiwane przez poszczególne biblioteki, w artykule Więcej informacji o C++ i Firebase.
| Usługa Firebase | Biblioteki XCFrameworks i Swift Package Manager |
|---|---|
| Analytics |
(required) firebase.xcframeworkfirebase_analytics.xcframeworkFirebaseAnalytics (13.1.1)
|
| App Check |
(required) firebase.xcframeworkfirebase_app_check.xcframeworkFirebaseAppCheck (13.1.1)
|
| Authentication |
(required) firebase.xcframeworkfirebase_auth.xcframeworkFirebaseAuth (13.1.1)
|
| Cloud Firestore |
(required) firebase.xcframeworkfirebase_firestore.xcframeworkfirebase_auth.xcframeworkFirebaseFirestore (13.1.1)FirebaseAuth (13.1.1)
|
| Cloud Functions |
(required) firebase.xcframeworkfirebase_functions.xcframeworkFirebaseFunctions (13.1.1)
|
| Cloud Messaging |
(wymagany) firebase.xcframeworkfirebase_messaging.xcframework(zalecany) firebase_analytics.xcframeworkFirebaseMessaging (13.1.1)(zalecany) FirebaseAnalytics (13.1.1)
|
| Cloud Storage |
(required) firebase.xcframeworkfirebase_storage.xcframeworkFirebaseStorage (13.1.1)
|
| Realtime Database |
(required) firebase.xcframeworkfirebase_database.xcframeworkFirebaseDatabase (13.1.1)
|
| Remote Config |
(wymagany) firebase.xcframeworkfirebase_remote_config.xcframework(zalecany) firebase_analytics.xcframeworkFirebaseRemoteConfig (13.1.1)(zalecany) FirebaseAnalytics (13.1.1)
|
| WYCOFANE LUB NIEOBSŁUGIWANE BIBLIOTEKI | |
| Dynamic Links |
(wymagany) firebase.xcframeworkfirebase_dynamic_links.xcframework(zalecany) firebase_analytics.xcframeworkFirebaseDynamicLinks (13.1.1)(zalecany) FirebaseAnalytics (13.1.1)
|
Dodatkowe informacje dotyczące konfiguracji na urządzeniach mobilnych
Integracja bez użycia Swift Package Managera
Jeśli nie chcesz używać menedżera pakietów Swift do zarządzania podstawowymi zależnościami pakietu SDK Firebase na platformy Apple, zapoznaj się z sekcją Integracja bez użycia menedżera pakietów Swift w przewodniku po konfiguracji platform Apple, aby poznać alternatywne opcje integracji.
Podmiana metody
W systemie iOS niektóre zdarzenia aplikacji (takie jak otwieranie adresów URL i otrzymywanie powiadomień) wymagają, aby delegat aplikacji implementował określone metody. Na przykład odbieranie powiadomień może wymagać od delegata aplikacji zaimplementowania metody application:didReceiveRemoteNotification:. Każda aplikacja na iOS ma własny obiekt delegowany, dlatego Firebase używa podmiany metody, która umożliwia zastąpienie jednej metody inną, aby dołączyć własne moduły obsługi oprócz tych, które zostały przez Ciebie zaimplementowane.
Biblioteki Dynamic Links i Cloud Messaging muszą dołączyć moduły obsługi do delegata aplikacji za pomocą podmiany metody. Jeśli używasz któregoś z tych usług Firebase, podczas wczytywania Firebase zidentyfikuje klasę AppDelegate i podmieni w niej wymagane metody, łącząc wywołanie zwrotne z istniejącą implementacją metody.
Konfigurowanie przepływu pracy na komputerze (beta)
Podczas tworzenia gry często znacznie łatwiej jest najpierw przetestować ją na platformach komputerowych, a później wdrożyć i przetestować na urządzeniach mobilnych. Aby ułatwić ten proces, udostępniamy podzbiór pakietów SDK Firebase C++, które można uruchamiać w systemach Windows, macOS i Linux oraz w edytorze C++.
W przypadku przepływów pracy na komputerze musisz wykonać te czynności:
- Skonfiguruj projekt C++ pod kątem CMake.
- Tworzenie projektu w Firebase
- Zarejestruj aplikację (na iOS lub Androida) w Firebase
- Dodawanie pliku konfiguracji Firebase na platformę mobilną
Utwórz komputerową wersję pliku konfiguracji Firebase:
Jeśli dodasz plik
google-services.jsonna Androida – gdy uruchomisz aplikację, Firebase zlokalizuje ten plik mobilny, a następnie automatycznie wygeneruje plik konfiguracji Firebase (google-services-desktop.json) na komputery.Jeśli dodano plik
GoogleService-Info.plistna iOS – przed uruchomieniem aplikacji musisz przekonwertować ten plik mobilny na plik konfiguracji Firebase na komputery. Aby przekonwertować plik, uruchom to polecenie w tym samym katalogu, w którym znajduje się plikGoogleService-Info.plist:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ten plik konfiguracji komputera zawiera identyfikator projektu C++ wpisany w procesie konfiguracji konsoli Firebase. Więcej informacji o plikach konfiguracji znajdziesz w artykule Informacje o projektach w Firebase.
Dodaj pakiety SDK Firebase do projektu C++.
Poniższe kroki pokazują, jak dodać dowolną obsługiwaną usługę Firebase do projektu C++. W tym przykładzie pokażemy, jak dodać Firebase Authentication i Firebase Realtime Database.
Ustaw zmienną środowiskową
FIREBASE_CPP_SDK_DIRna lokalizację rozpakowanego pakietu SDK Firebase C++.Do pliku
CMakeLists.txtprojektu dodaj te treści, w tym biblioteki usług Firebase, których chcesz używać. Aby na przykład użyć Firebase Authentication i 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}")
Uruchom aplikację w C++.
Dostępne biblioteki (komputer)
Pakiet SDK Firebase C++ obsługuje procesy na komputerach w przypadku podzbioru funkcji, co umożliwia korzystanie z niektórych części Firebase w samodzielnych kompilacjach na komputery z systemem Windows, macOS i Linux.
| Usługa Firebase | Odwołania do bibliotek (za pomocą CMake) |
|---|---|
| App Check |
firebase_app_check(wymagane) firebase_app
|
| Authentication |
firebase_auth(wymagane) firebase_app
|
| Cloud Firestore |
firebase_firestorefirebase_authfirebase_app
|
| Cloud Functions |
firebase_functions(wymagane) firebase_app
|
| Cloud Storage |
firebase_storage(wymagane) firebase_app
|
| Realtime Database |
firebase_database(wymagane) firebase_app
|
| Remote Config |
firebase_remote_config(wymagane) firebase_app
|
Firebase udostępnia pozostałe biblioteki na komputery jako implementacje zastępcze (niefunkcjonalne), aby ułatwić tworzenie aplikacji na systemy Windows, macOS i Linux. Dlatego nie musisz kompilować kodu warunkowo, aby kierować reklamy na komputery.
Realtime Database komputer
Pakiet SDK Realtime Database na komputery używa REST do uzyskiwania dostępu do bazy danych, więc musisz zadeklarować indeksy, których używasz z Query::OrderByChild() na komputerze, bo inaczej detektory nie będą działać.
Dodatkowe informacje dotyczące konfiguracji na komputerze
Biblioteki systemu Windows
W przypadku systemu Windows wersje bibliotek są udostępniane na podstawie tych informacji:
- Platforma kompilacji: tryb 32-bitowy (x86) lub 64-bitowy (x64)
- Środowisko wykonawcze systemu Windows: wielowątkowe / MT a wielowątkowa biblioteka DLL / MD
- Cel: wersja produkcyjna a debugowanie
Pamiętaj, że te biblioteki zostały przetestowane za pomocą Visual Studio 2015 i 2017.
Podczas tworzenia aplikacji komputerowych w C++ na system Windows połącz z projektem te biblioteki Windows SDK. Więcej informacji znajdziesz w dokumentacji kompilatora.
| Biblioteka Firebase C++ | Zależności biblioteki pakietu SDK dla systemu 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 |
Biblioteki macOS
W przypadku systemu macOS (Darwin) wersje biblioteki są dostępne dla platformy 64-bitowej (x86_64). Dla Twojej wygody udostępniamy też platformy.
Pamiętaj, że biblioteki macOS zostały przetestowane za pomocą Xcode 26.2.
Podczas tworzenia aplikacji komputerowych w języku C++ na macOS połącz z projektem te elementy:
pthreadbiblioteka systemowaCoreFoundation– platforma systemowa macOSFoundation– platforma systemowa macOSSecurity– platforma systemowa macOSGSS– platforma systemowa macOSKerberos– platforma systemowa macOSSystemConfiguration– platforma systemowa macOS
Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteki Linuksa
W przypadku systemu Linux wersje bibliotek są dostępne dla platform 32-bitowych (i386) i 64-bitowych (x86_64).
Pamiętaj, że biblioteki Linuksa zostały przetestowane przy użyciu GCC 4.8.0, GCC 7.2.0 i Clang 5.0 na Ubuntu.
Podczas tworzenia aplikacji komputerowych w języku C++ na Linuksie połącz bibliotekę systemową pthread ze swoim projektem. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli kompilujesz za pomocą GCC 5 lub nowszego, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0.
Dalsze kroki
Zapoznaj się z przykładowymi aplikacjami Firebase.
Zapoznaj się z pakietem SDK open source na GitHubie.
Przygotuj się do opublikowania aplikacji:
- Skonfiguruj alerty dotyczące budżetu dla projektu w konsoli Google Cloud.
- Monitoruj panel Użycie i rozliczenia w konsoli Firebase, aby uzyskać ogólny obraz wykorzystania projektu w różnych usługach Firebase.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.