Ulepsz swoje gry w C++ za pomocą naszych pakietów SDK Firebase w C++, które zapewniają interfejs C++ na podstawie pakietów SDK Firebase.
Uzyskaj dostęp do Firebase w całości z poziomu kodu C++ bez konieczności pisania kodu natywnego dla platformy. Pakiet SDK Firebase tłumaczy też wiele idiomów specyficznych dla języka używanych przez Firebase na interfejs bardziej znany programistom C++.
Więcej informacji o ulepszaniu gier za pomocą Firebase znajdziesz na naszej stronie poświęconej grom w Firebase.
Czy Firebase został już dodany do projektu C++? Upewnij się, że używasz najnowszej wersji Firebase C++ SDK.
Wymagania wstępne
Zainstaluj te elementy:
- Xcode 26.2 lub nowsze
- CocoaPods w wersji 1.12.0 lub nowszej
Upewnij się, że projekt jest przeznaczony na te lub nowsze wersje platformy:
- 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 Firebase znajdziesz w artykule Informacje o projektach Firebase.
Krok 3. Zarejestruj aplikację w Firebase
Aby korzystać z Firebase w aplikacji na urządzenia Apple, musisz zarejestrować aplikację w projekcie w Firebase. Rejestracja aplikacji jest często nazywana „dodawaniem” aplikacji do projektu.
Otwórz Firebasekonsolę.
W centrum strony „Opis” projektu kliknij ikonę iOS+, aby uruchomić proces konfiguracji.
Jeśli aplikacja została już dodana do projektu w Firebase, kliknij Dodaj aplikację, aby wyświetlić opcje platformy.
W polu bundle ID wpisz identyfikator pakietu aplikacji.
(Opcjonalnie) wpisz inne informacje o aplikacji: pseudonim aplikacji i identyfikator App Store.
Kliknij Zarejestruj aplikację.
Krok 4. Dodaj plik konfiguracyjny Firebase
Kliknij Pobierz GoogleService-Info.plist, aby uzyskać plik konfiguracyjny platform Apple Firebase.
Otwórz projekt C++ w IDE, a następnie przeciągnij plik konfiguracji do katalogu głównego projektu C++.
Jeśli pojawi się prośba, wybierz opcję dodania pliku konfiguracyjnego do wszystkich miejsc docelowych.
Zadania konfiguracyjne w konsoli Firebase zostały wykonane. Poniżej znajdziesz instrukcje dodawania pakietów SDK Firebase C++.
Krok 5. Dodaj pakiety SDK Firebase C++
Czynności opisane w tej sekcji pokazują, jak dodać obsługiwane usługi Firebase do projektu Firebase C++.
Pobierz Firebase C++ SDK, a następnie rozpakuj go w dogodnym miejscu.
Pakiet SDK Firebase C++ nie jest przeznaczony dla konkretnej platformy, ale zawiera biblioteki specyficzne dla platformy.
Dodaj pody Firebase z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli jeszcze go nie masz:
cd your-app-directory
pod init
Do pliku Podfile dodaj pody Firebase, których chcesz używać w aplikacji.
Model Analytics został włączony
# 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'Nie włączono Analytics
# 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'
Zainstaluj pody, a następnie otwórz plik
.xcworkspacew Xcode.pod install
open your-app.xcworkspace
Dodaj frameworki Firebase z rozpakowanego pakietu SDK.
Najłatwiej jest dodać te platformy, przeciągając je 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).Dodaj platformę Firebase C++
firebase.framework, która jest wymagana do korzystania z dowolnej usługi Firebase.Dodaj platformę dla każdego produktu Firebase, którego chcesz używać. Na przykład, aby użyć właściwości Firebase Authentication, dodaj
firebase_auth.framework.
Wróć do konsoli Firebase i w przepływie pracy konfiguracji kliknij Dalej.
Jeśli dodasz Analytics, uruchom aplikację, aby wysłać do Firebase weryfikację, ż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 weryfikacji Firebase, że inicjowanie zostało zakończone. Jeśli aplikacja została uruchomiona na emulatorze z dostępem do sieci, Firebase konsola powiadomi Cię o zakończeniu połączenia z aplikacją.
To już wszystko Aplikacja 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 i w naszej wersji SDK open source na GitHubie.
Dostępne biblioteki na platformy Apple
Pamiętaj, że biblioteki C++ na Androida są wymienione na stronie konfiguracji w wersji na Androida.
Każda usługa Firebase ma inne zależności. Pamiętaj, aby dodać do pliku Podfile i projektu C++ wszystkie zależności wymienione w przypadku wybranego produktu Firebase.
Każda usługa Firebase może obsługiwać tylko wybrane platformy Apple OS (iOS, tvOS itp.). Sprawdź, które platformy są obsługiwane przez poszczególne biblioteki. Więcej informacji znajdziesz w artykule Więcej informacji o C++ i Firebase.
| Usługa Firebase | Frameworki i pody |
|---|---|
| Analytics |
(wymagane) firebase.frameworkfirebase_analytics.frameworkpod 'FirebaseAnalytics', '12.19.0'
|
| App Check |
(wymagane) firebase.frameworkfirebase_app_check.frameworkpod 'FirebaseAppCheck', '12.19.0'
|
| Authentication |
(wymagane) firebase.frameworkfirebase_auth.frameworkpod 'FirebaseAuth', '12.19.0'
|
| Cloud Firestore |
(wymagane) firebase.frameworkfirebase_firestore.frameworkfirebase_auth.frameworkpod 'FirebaseFirestore', '12.19.0'pod 'FirebaseAuth', '12.19.0'
|
| Cloud Functions |
(wymagane) firebase.frameworkfirebase_functions.frameworkpod 'FirebaseFunctions', '12.19.0'
|
| Cloud Messaging |
(wymagane) firebase.frameworkfirebase_messaging.framework(zalecane) firebase_analytics.frameworkpod 'FirebaseMessaging', '12.19.0'(zalecane) pod 'FirebaseAnalytics', '12.19.0'
|
| Cloud Storage |
(wymagane) firebase.frameworkfirebase_storage.frameworkpod 'FirebaseStorage', '12.19.0'
|
| Realtime Database |
(wymagane) firebase.frameworkfirebase_database.frameworkpod 'FirebaseDatabase', '12.19.0'
|
| Remote Config |
(wymagane) firebase.frameworkfirebase_remote_config.framework(zalecane) firebase_analytics.frameworkpod 'FirebaseRemoteConfig', '12.19.0'(zalecane) pod 'FirebaseAnalytics', '12.19.0'
|
| PRZESTARZAŁE LUB NIEWSPIERANE BIBLIOTEKI | |
| Dynamic Links |
(wymagane) firebase.frameworkfirebase_dynamic_links.framework(zalecane) firebase_analytics.frameworkpod 'FirebaseDynamicLinks', '12.19.0'(zalecane) pod 'FirebaseAnalytics', '12.19.0'
|
Dodatkowe informacje o konfiguracji na urządzeniu mobilnym
Method swizzling
W iOS niektóre zdarzenia aplikacji (np. otwieranie adresów URL i otrzymywanie powiadomień) wymagają, aby delegat aplikacji zaimplementował określone metody. Na przykład otrzymanie powiadomienia może wymagać zaimplementowania protokołu application:didReceiveRemoteNotification: w delegacie aplikacji. Każda aplikacja na iOS ma własny delegat aplikacji, dlatego Firebase używa podmiany metody, która umożliwia zastąpienie jednej metody inną, aby dołączyć własne procedury obsługi oprócz tych, które mogłeś(-aś) zaimplementować.
Biblioteki Dynamic Links i Cloud Messaging muszą dołączać procedury obsługi do delegata aplikacji za pomocą podmiany metody. Jeśli korzystasz z któregoś z tych produktów Firebase, w czasie wczytywania Firebase zidentyfikuje Twoją klasę AppDelegate i zamieni w niej wymagane metody, łącząc wywołanie z powrotem z dotychczasową implementacją metody.
Konfigurowanie przepływu pracy na komputerze (beta)
Podczas tworzenia gry często łatwiej jest najpierw przetestować ją na platformach desktopowych, a potem wdrożyć i przetestować na urządzeniach mobilnych. Aby obsługiwać ten proces, udostępniamy podzbiór pakietów SDK Firebase C++, które mogą działać 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
- Rejestrowanie aplikacji (na iOS lub Androida) w Firebase
- Dodawanie pliku konfiguracyjnego Firebase na platformę mobilną
Utwórz wersję na komputery pliku konfiguracyjnego Firebase:
Jeśli dodasz plik
google-services.jsonna Androida – gdy uruchomisz aplikację, Firebase znajdzie ten plik mobilny, a następnie automatycznie wygeneruje plik konfiguracyjny Firebase na komputery (google-services-desktop.json).Jeśli dodano plik
GoogleService-Info.plistiOS – przed uruchomieniem aplikacji musisz przekonwertować ten plik mobilny na plik konfiguracyjny Firebase na komputery. Aby przekonwertować plik, uruchom to polecenie w tym samym katalogu co plikGoogleService-Info.plist:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ten plik konfiguracyjny na komputerze zawiera identyfikator projektu C++, który został wpisany w Firebase przepływie pracy konfiguracji konsoli. Więcej informacji o plikach konfiguracyjnych znajdziesz w artykule Informacje o projektach Firebase.
Dodaj pakiety SDK Firebase do projektu C++.
Poniższe kroki pokazują, jak dodać do projektu w C++ dowolną obsługiwaną usługę Firebase. 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 wiersze, w tym biblioteki usług Firebase, których chcesz używać. Aby na przykład użyć właściwości 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++ obejmuje obsługę przepływu pracy na komputerze w przypadku podzbioru funkcji, co umożliwia korzystanie z określonych części Firebase w samodzielnych kompilacjach na komputery z systemem Windows, macOS i Linux.
| Usługa Firebase | Odwołania do bibliotek (przy użyciu 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
|
Pozostałe biblioteki na komputery Firebase udostępnia jako implementacje typu stub (niefunkcjonalne), aby ułatwić tworzenie aplikacji na Windows, macOS i Linux. Dlatego nie musisz warunkowo kompilować kodu, aby kierować reklamy na komputery.
Realtime Database komputer
Pakiet Realtime Database SDK na komputery korzysta z REST do uzyskiwania dostępu do bazy danych, więc musisz zadeklarować indeksy, których używasz z Query::OrderByChild() na komputerze, w przeciwnym razie Twoje odbiorniki nie będą działać.
Dodatkowe informacje o konfiguracji na komputerze
Biblioteki systemu Windows
W przypadku systemu Windows wersje biblioteki są udostępniane na podstawie tych kryteriów:
- Platforma kompilacji: tryb 32-bitowy (x86) lub 64-bitowy (x64)
- Środowisko wykonawcze Windows: wielowątkowe / MT vs wielowątkowe DLL /MD
- Cel: wersja a debugowanie
Pamiętaj, że poniższe biblioteki zostały przetestowane w Visual Studio 2015 i 2017.
Podczas tworzenia aplikacji na komputery z systemem Windows w języku C++ połącz z projektem te biblioteki pakietu Windows SDK: Więcej informacji znajdziesz w dokumentacji kompilatora.
| Biblioteka Firebase C++ | Zależności biblioteki pakietu 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 |
Biblioteki macOS
W przypadku systemu macOS (Darwin) wersje bibliotek są udostępniane na platformę 64-bitową (x86_64). Dla Twojej wygody udostępniamy też platformy.
Pamiętaj, że biblioteki macOS zostały przetestowane w Xcode 26.2.
Podczas tworzenia aplikacji na komputery z systemem macOS w języku C++ połącz z projektem te elementy:
pthreadbiblioteka systemowaCoreFoundationplatforma systemowa macOS,Foundationplatforma systemowa macOS,Securityplatforma systemowa macOS,GSSplatforma systemowa macOS,Kerberosplatforma systemowa macOS,SystemConfigurationplatforma systemowa macOS,
Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteki Linuksa
W przypadku systemu Linux wersje bibliotek są udostępniane na platformy 32-bitowe (i386) i 64-bitowe (x86_64).
Biblioteki Linuxa zostały przetestowane przy użyciu kompilatorów GCC 4.8.0, GCC 7.2.0 i Clang 5.0 w systemie Ubuntu.
Podczas tworzenia aplikacji na komputery z systemem Linux w języku C++ połącz z projektem pthread bibliotekę systemową. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli tworzysz aplikację za pomocą GCC w wersji 5 lub nowszej, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0.
Dalsze kroki
Poznaj przykładowe aplikacje Firebase.
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty dotyczące budżetu dla projektu w Google Cloud konsoli.
- Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania projektu w wielu usługach Firebase.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.