Ulepsz swoje gry w C++ za pomocą naszych pakietów Firebase C++ SDK, które zapewniają interfejs C++ na pakietach Firebase SDK.
Uzyskaj dostęp do Firebase w całości z poziomu kodu C++ bez konieczności pisania kodu natywnego dla platformy. Pakiet Firebase SDK tłumaczy też wiele idiomów specyficznych dla języka, których używa Firebase, na interfejs bardziej znany deweloperom 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 16.2 lub nowsze
- CocoaPods w wersji 1.12.0 lub nowszej
Sprawdź, czy projekt jest przeznaczony na te wersje platformy lub nowsze:
- iOS 13
- tvOS 13
Skonfiguruj urządzenie fizyczne lub użyj symulatora, aby uruchomić aplikację.
Czy chcesz użyć Cloud Messaging?
W przypadku Cloud Messaging na platformach Apple wymagania wstępne są następujące:
- Skonfiguruj fizyczne urządzenie Apple.
- Uzyskaj klucz uwierzytelniania usługi Apple Push Notification na koncie dewelopera Apple.
- Włącz powiadomienia push w Xcode w sekcji App > Capabilities (Aplikacja > Funkcje).
Zaloguj się w Firebase przy użyciu konta Google.
Krok 2. Utwórz projekt 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 Projekty Firebase.
Tworzenie projektu Firebase
-
W Firebasekonsoli kliknij Dodaj projekt.
-
Aby dodać zasoby Firebase do istniejącego Google Cloudprojektu, wpisz jego nazwę lub wybierz go z menu.
-
Aby utworzyć nowy projekt, wpisz jego nazwę. Możesz też opcjonalnie edytować identyfikator projektu wyświetlany pod nazwą projektu.
-
-
Jeśli pojawi się taka prośba, przeczytaj i zaakceptuj warunki usługi Firebase.
-
Kliknij Dalej.
-
(Opcjonalnie) skonfiguruj Google Analytics w projekcie, co umożliwi optymalne korzystanie z tych usług Firebase: Firebase A/B Testing, Cloud Messaging, Crashlytics, In-App Messaging i Remote Config (w tym Personalizacja).
Wybierz istniejące Google Analyticskonto lub utwórz nowe. Jeśli tworzysz nowe konto, wybierz Analyticslokalizację raportowania, a następnie zaakceptuj ustawienia udostępniania danych i Google Analytics warunki korzystania z usługi w przypadku projektu.
-
Kliknij Utwórz projekt (lub Dodaj Firebase, jeśli dodajesz Firebase do istniejącego Google Cloud projektu).
Firebase automatycznie udostępnia zasoby dla Twojego projektu Firebase. Po zakończeniu procesu otworzy się strona podsumowania projektu Firebase w Firebasekonsoli.
Krok 3. Zarejestruj aplikację w Firebase
Aby korzystać z Firebase w aplikacji na urządzenia Apple, musisz zarejestrować ją w projekcie 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 masz już aplikację w projekcie Firebase, kliknij Dodaj aplikację, aby wyświetlić opcje platformy.
W polu bundle ID wpisz identyfikator pakietu aplikacji.
Co to jest identyfikator pakietu i gdzie go znaleźć?
Identyfikator pakietu jednoznacznie identyfikuje aplikację w ekosystemie Apple.
Znajdź identyfikator pakietu: otwórz projekt w Xcode, wybierz aplikację najwyższego poziomu w nawigatorze projektu, a następnie wybierz kartę Ogólne.
Wartość pola Identyfikator pakietu to identyfikator pakietu (np.
com.yourcompany.yourproject
).Pamiętaj, że wielkość liter w wartości identyfikatora pakietu jest rozróżniana i nie można jej zmienić w przypadku tej aplikacji Firebase po zarejestrowaniu jej w projekcie Firebase.
(Opcjonalnie) wpisz inne informacje o aplikacji: pseudonim aplikacji i identyfikator App Store.
Jak w Firebase używane są pseudonim aplikacji i identyfikator App Store?
Pseudonim aplikacji: wewnętrzny identyfikator ułatwiający rozpoznawanie aplikacji, widoczny tylko w Firebase konsoli.
Identyfikator App Store: używany przez Firebase Dynamic Links do przekierowywania użytkowników na stronę aplikacji w App Store i przez Google Analytics do importowania zdarzeń konwersji do Google Ads. Jeśli Twoja aplikacja nie ma jeszcze identyfikatora sklepu z aplikacjami, możesz go dodać później w ustawieniach projektu.
Kliknij Zarejestruj aplikację.
Krok 4. Dodaj plik konfiguracyjny Firebase
Kliknij Pobierz GoogleService-Info.plist, aby uzyskać plik konfiguracyjny Firebase dla platform Apple.
Co musisz wiedzieć o tym pliku konfiguracyjnym?
Plik konfiguracyjny Firebase zawiera unikalne, ale nie tajne identyfikatory projektu i aplikacji. Więcej informacji o tym pliku znajdziesz w artykule Informacje o projektach Firebase.
W każdej chwili możesz ponownie pobrać plik konfiguracyjny Firebase.
Sprawdź, czy nazwa pliku konfiguracyjnego nie zawiera dodatkowych znaków, np.
(2)
.
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. Przejdź do sekcji Dodawanie pakietów SDK Firebase C++ poniżej.
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 poszczególnych platform.
Dodaj pody Firebase z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli go nie masz:
cd
your-app-directory pod init
Do pliku Podfile dodaj pody Firebase, których chcesz używać w aplikacji.
# 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'
Zainstaluj pody, a następnie otwórz plik
.xcworkspace
w Xcode.pod install
open
your-app .xcworkspace
Dodaj frameworki Firebase z rozpakowanego pakietu SDK.
Najłatwiej jest dodać te struktury, przeciągając je z okna
Finder
bezpoś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 framework 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.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 udało Ci się zintegrować Firebase. W przeciwnym razie możesz pominąć ten krok weryfikacji.
W logach 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, Firebasekonsola powiadomi Cię o zakończeniu połączenia z aplikacją.
Wszystko gotowe. Aplikacja w C++ jest zarejestrowana i skonfigurowana do korzystania z usług Firebase.
Dostępne biblioteki
Więcej informacji o bibliotekach Firebase C++ znajdziesz w dokumentacji i w naszej wersji SDK open source na GitHubie.
Dostępne biblioteki dla platform 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 wybranej usługi Firebase.
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 sekcji Więcej informacji o C++ i Firebase.
Usługa Firebase | Frameworki i pody |
---|---|
AdMob |
(wymagany) firebase.framework firebase_admob.framework (wymagany) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (wymagany) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(wymagane) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(wymagane) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(wymagane) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(wymagane) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(wymagane) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(wymagany) firebase.framework firebase_messaging.framework (zalecany) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (zalecany) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(wymagane) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(wymagany) firebase.framework firebase_dynamic_links.framework (zalecany) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (zalecany) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(wymagane) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(wymagany) firebase.framework firebase_remote_config.framework (zalecany) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (zalecany) pod 'FirebaseAnalytics', '12.0.0'
|
Dodatkowe informacje o konfiguracji na urządzeniach mobilnych
Podmiana metody
W systemie iOS niektóre zdarzenia aplikacji (np. otwieranie adresów URL i otrzymywanie powiadomień) wymagają, aby delegat aplikacji implementował określone metody. Na przykład otrzymanie powiadomienia może wymagać, aby delegat aplikacji implementował metodę application:didReceiveRemoteNotification:
. Każda aplikacja na iOS ma własny delegat, więc Firebase używa zamiany metod, 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ą zamiany metod. Jeśli używasz którejś z tych usług Firebase, w momencie 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 (wersja beta)
Podczas tworzenia gry często łatwiej jest najpierw przetestować ją na platformach desktopowych, a potem wdrożyć i przetestować na urządzeniach mobilnych w późniejszej fazie rozwoju. 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 Firebase
- Zarejestruj aplikację (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.json
na Androida – gdy uruchomisz aplikację, Firebase znajdzie ten plik mobilny, a potem automatycznie wygeneruje plik konfiguracyjny Firebase na komputery (google-services-desktop.json
).Jeśli dodano plik
GoogleService-Info.plist
na iOS – 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 podczas konfigurowania konsoli. Więcej informacji o plikach konfiguracyjnych znajdziesz w artykule Informacje o projektach Firebase.
Dodaj pakiety SDK Firebase do projektu C++.
Poniższe czynności pokazują, jak dodać do projektu C++ dowolną obsługiwaną usługę Firebase. W tym przykładzie pokażemy, jak dodać tagi Firebase Authentication i Firebase Realtime Database.
Ustaw zmienną środowiskową
FIREBASE_CPP_SDK_DIR
na lokalizację rozpakowanego pakietu SDK Firebase C++.Do pliku
CMakeLists.txt
projektu dodaj poniższą treść, 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 (za pomocą CMake) |
---|---|
App Check |
firebase_app_check (wymagane) firebase_app
|
Authentication |
firebase_auth (wymagane) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_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 w postaci implementacji typu stub (niefunkcjonalnych), aby ułatwić tworzenie aplikacji na Windowsa, macOS i Linuksa. Dlatego nie musisz warunkowo kompilować kodu, aby kierować go 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 bibliotek 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 16.2.
Podczas tworzenia aplikacji na komputery z systemem macOS w języku C++ połącz z projektem te elementy:
pthread
biblioteka systemowaCoreFoundation
platforma systemowa macOS,Foundation
platforma systemowa macOS,Security
platforma systemowa macOS,GSS
platforma systemowa macOS,Kerberos
platforma systemowa macOS,SystemConfiguration
platforma 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).
Pamiętaj, że biblioteki Linuxa były testowane przy użyciu 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 bibliotekę systemową pthread
z projektem. 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
Przejrzyj przykładowe aplikacje Firebase.
Zapoznaj się z pakietem SDK typu open source w serwisie GitHub.
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty dotyczące budżetu w projekcie w konsoli Google Cloud.
- Monitoruj panel Wykorzystanie i rozliczenia w Firebase konsoli, aby uzyskać ogólny obraz wykorzystania usług Firebase w projekcie.
- Zapoznaj się z listą kontrolną dotyczącą uruchamiania Firebase.