Ulepsz swoje gry w C++, korzystając z pakietów Firebase C++ SDK, które udostępniają interfejs C++ na bazie pakietów Firebase SDK.
Uzyskaj dostęp do Firebase bezpośrednio z kodu C++, bez konieczności pisania kodu natywnego dla danej platformy. Pakiet SDK Firebase przekształca też wiele idiomów językowych używanych przez Firebase w interfejs bardziej przyjazny deweloperom C++.
Więcej informacji o ulepszaniu gier za pomocą Firebase znajdziesz na stronie z grami Firebase.
Czy Firebase zostało już dodane do projektu C++? Upewnij się, że używasz najnowszej wersji pakietu SDK Firebase C++.
Wymagania wstępne
Zainstaluj te elementy:
- Xcode 13.3.1 lub nowsza
- CocoaPods w wersji 1.12.0 lub nowszej
Upewnij się, że Twój projekt jest kierowany na te wersje platformy lub nowsze:
- iOS 13
- tvOS 13
Skonfiguruj fizyczne urządzenie lub uruchom aplikację za pomocą symulatora.
Zaloguj się w Firebase za pomocą konta Google.
Krok 2. Utwórz projekt Firebase
Zanim dodasz Firebase do projektu w C++, musisz utworzyć projekt Firebase, który połączysz z tym projektem. Więcej informacji o projektach Firebase znajdziesz w artykule Zrozumieć projekty Firebase.
Krok 3. Zarejestruj aplikację w Firebase
Aby korzystać z Firebase w aplikacji na urządzenia Apple, musisz ją zarejestrować w projekcie Firebase. Rejestrowanie aplikacji jest często nazywane „dodawaniem” aplikacji do projektu.
Otwórz konsolę Firebase.
W centrum strony „Opis” projektu kliknij ikonę iOS+, aby uruchomić proces konfiguracji.
Jeśli aplikacja została już dodana do projektu Firebase, kliknij Dodaj aplikację, aby wyświetlić opcje platformy.
W polu Identyfikator pakietu wpisz identyfikator pakietu aplikacji.
(Opcjonalnie) Wpisz inne informacje o aplikacji: nazwę skrótową aplikacji i identyfikator App Store.
Kliknij Zarejestruj aplikację.
Krok 4. Dodaj plik konfiguracji Firebase
Kliknij Pobierz plik GoogleService-Info.plist, aby pobrać plik konfiguracji Firebase dla platform Apple.
Otwórz projekt C++ w IDE, a potem przeciągnij plik konfiguracji do katalogu głównego projektu C++.
Jeśli pojawi się taka prośba, wybierz opcję dodania pliku konfiguracyjnego do wszystkich docelowych urządzeń.
Zakończ konfigurowanie w konsoli Firebase. Poniżej dowiedz się więcej o dodawaniu pakietów SDK Firebase C++.
Krok 5. Dodaj pakiety SDK Firebase C++
W tej sekcji znajdziesz przykład dodawania obsługiwanych usług Firebase do projektu Firebase C++.
Pobierz pakiet SDK Firebase C++, a potem rozpakuj go w wygodnym miejscu.
Pakiet SDK Firebase C++ nie jest przeznaczony tylko dla jednej platformy, ale zawiera biblioteki dla konkretnych platform.
Dodaj podpakiety Firebase z rozpakowanego pakietu SDK.
Utwórz plik Podfile, jeśli go nie masz:
cd your-app-directory
pod init
Dodaj do pliku Podfile moduły Firebase, których chcesz używać w aplikacji.
Włączono Analytics
# 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'Analytics nie jest włączona
# 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 moduły, a potem otwórz plik
.xcworkspace
w Xcode.pod install
open your-app.xcworkspace
Dodaj ramy Firebase z rozpakowanego pakietu SDK.
Najłatwiej dodać te frameworki, przeciągając je z okna
Finder
bezpośrednio do panelu Nawigator projektu w Xcode (domyślnie jest to panel w lewym górnym rogu; możesz też kliknąć ikonę pliku w lewym górnym rogu Xcode).Dodaj framework Firebase w C++
firebase.framework
, który jest wymagany do korzystania z jakiejkolwiek usługi Firebase.Dodaj framework dla każdej usługi Firebase, której chcesz użyć. Na przykład, aby użyć właściwości Firebase Authentication, dodaj
firebase_auth.framework
.
Wróć do konsoli Firebase i w procesie konfiguracji kliknij Dalej.
Jeśli dodasz Analytics, uruchom aplikację, aby wysłać do Firebase potwierdzenie, że udało Ci się ją zintegrować z Firebase. W przeciwnym razie możesz pominąć ten krok weryfikacji.
W logach urządzenia pojawi się weryfikacja Firebase, która potwierdza, że inicjalizacja została zakończona. Jeśli aplikacja została uruchomiona na emulatorze z dostępem do sieci, konsola Firebase powiadomi Cię, że połączenie z aplikacją zostało ustanowione.
Wszystko gotowe. 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 oraz w naszej wersji pakietu SDK open source na GitHub.
Dostępne biblioteki na platformach Apple
Uwaga: biblioteki C++ na Androida są wymienione na stronie konfiguracji dla Androida.
Każda usługa Firebase ma inne zależności. Pamiętaj, aby dodać do pliku Podfile i projektu C++ wszystkie wymienione zależności odpowiedniej usługi Firebase.
Każdy produkt Firebase może obsługiwać tylko wybrane platformy Apple (iOS, tvOS itp.). Sprawdź, na których platformach działają poszczególne biblioteki, w artykule Więcej informacji o C++ i Firebase.
Usługa Firebase | Frameworki i bloki reklamowe |
---|---|
AdMob |
(wymagany) firebase.framework firebase_admob.framework (wymagany) firebase_analytics.framework pod 'FirebaseAdMob', '11.6.0' (wymagany) pod 'FirebaseAnalytics', '11.6.0'
|
Analytics |
(wymagane) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '11.6.0'
|
App Check |
(wymagane) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '11.6.0'
|
Authentication |
(wymagane) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '11.6.0'
|
Cloud Firestore |
(wymagane) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '11.6.0' pod 'FirebaseAuth', '11.6.0'
|
Cloud Functions |
(wymagane) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '11.6.0'
|
Cloud Messaging |
(wymagany) firebase.framework firebase_messaging.framework (zalecane) firebase_analytics.framework pod 'FirebaseMessaging', '11.6.0' (zalecane) pod 'FirebaseAnalytics', '11.6.0'
|
Cloud Storage |
(wymagane) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '11.6.0'
|
Dynamic Links |
(wymagany) firebase.framework firebase_dynamic_links.framework (zalecane) firebase_analytics.framework pod 'FirebaseDynamicLinks', '11.6.0' (zalecane) pod 'FirebaseAnalytics', '11.6.0'
|
Realtime Database |
(wymagane) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '11.6.0'
|
Remote Config |
(wymagany) firebase.framework firebase_remote_config.framework (zalecane) firebase_analytics.framework pod 'FirebaseRemoteConfig', '11.6.0' (zalecane) pod 'FirebaseAnalytics', '11.6.0'
|
Dodatkowe informacje o konfiguracji na urządzeniu mobilnym
Podmiana metody
W iOS niektóre zdarzenia aplikacji (np. otwieranie adresów URL i odbieranie powiadomień) wymagają, aby delegowany obiekt aplikacji implementował określone metody. Na przykład otrzymanie powiadomienia może wymagać implementacji application:didReceiveRemoteNotification:
przez delegowanego obiektu aplikacji. Każda aplikacja na iOS ma własnego delegowanego obiektu aplikacji, więc Firebase używa przełączania metod, aby zastąpić jedną metodę inną, a także dołączyć własne moduły obsługi do tych, które zostały przez Ciebie zaimplementowane.
Biblioteki Dynamic Links i Cloud Messaging muszą dołączać moduły do delegata aplikacji za pomocą swizlowania metod. Jeśli używasz którejś z tych usług Firebase, Firebase w momencie wczytywania wykryje klasę AppDelegate
i zastąpi w niej wymagane metody, łącząc wywołanie z istniejącą implementacją metody.
Konfigurowanie przepływu pracy na komputerze (wersja beta)
Podczas tworzenia gry często łatwiej jest najpierw przetestować ją na komputerze, a potem wdrożyć i przetestować na urządzeniach mobilnych. Aby umożliwić korzystanie z tego procesu, 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 Firebase
- Zarejestruj aplikację (na iOS lub Androida) w Firebase
- Dodawanie pliku konfiguracji Firebase na platformę mobilną
Utwórz wersję pliku konfiguracji Firebase na komputer:
Jeśli dodasz plik
google-services.json
na Androida – gdy uruchomisz aplikację, Firebase odnajdzie ten plik mobilny, a następnie automatycznie wygeneruje plik konfiguracji na komputer Firebase (google-services-desktop.json
).Jeśli dodasz plik
GoogleService-Info.plist
na iOS – zanim uruchomisz aplikację, musisz przekonwertować ten plik mobilny na plik konfiguracji na komputer Firebase. 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++, który został podany w procesie konfiguracji konsoli Firebase. Więcej informacji o plikach konfiguracji znajdziesz w artykule Informacje o projektach Firebase.
Dodaj pakiety SDK Firebase do projektu C++.
Poniżej znajdziesz przykład dodawania dowolnego obsługiwanego produktu Firebase do projektu w C++. W tym przykładzie pokazujemy dodawanie znaczników 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 następujące treści, 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++ zawiera obsługę przepływu pracy na komputerze dla podzbioru funkcji, co umożliwia korzystanie z pewnych części Firebase w samodzielnych wersjach 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 jako implementacje w postaci stubów (niefunkcjonalnych) dla wygody podczas kompilowania na potrzeby Windowsa, macOS i Linuxa. Dlatego nie musisz warunkowo kompilować kodu pod kątem komputerów stacjonarnych.
Realtime Database komputer
Pakiet SDK Realtime Database na komputery korzysta z protokołu REST do uzyskiwania dostępu do bazy danych, dlatego musisz zadeklarować indeksy, których używasz z Query::OrderByChild()
na komputerze, ponieważ w przeciwnym razie odbiorniki nie będą działać.
Dodatkowe informacje o konfiguracji na komputerze
Biblioteki Windows
W przypadku systemu Windows wersje bibliotek są udostępniane na podstawie tych informacji:
- Platforma kompilacji: tryb 32-bitowy (x86) a 64-bitowy (x64)
- Środowisko wykonawcze systemu Windows: wielowątkowy / MT a wielowątkowa biblioteka DLL /MD
- Cel: wersja produkcyjna a wersja deweloperska
Pamiętaj, że te biblioteki zostały przetestowane za pomocą Visual Studio 2015 i 2017.
Podczas kompilowania aplikacji komputerowych C++ w systemie Windows powiązaj z projektem te biblioteki Windows SDK. Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteka Firebase C++ | Zależności biblioteki pakietu SDK 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) dostępne są wersje bibliotek na platformę 64-bitową (x86_64). Dla wygody użytkowników udostępniamy również ramy.
Pamiętaj, że biblioteki macOS zostały przetestowane za pomocą Xcode 13.3.1.
Podczas kompilowania aplikacji na komputery z C++ na macOS połącz z projektem:
pthread
biblioteka systemowaCoreFoundation
System operacyjny macOSFoundation
System operacyjny macOSSecurity
System operacyjny macOSGSS
System operacyjny macOSKerberos
System operacyjny macOSSystemConfiguration
System operacyjny macOS
Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteki Linuksa
W przypadku systemu Linux udostępniane są wersje bibliotek na platformy 32-bitowe (i386) i 64-bitowe (x86_64).
Pamiętaj, że biblioteki Linuxa zostały przetestowane za pomocą GCC 4.8.0, GCC 7.2.0 i Clang 5.0 w Ubuntu.
Podczas kompilowania aplikacji komputerowych w C++ w systemie Linux połącz bibliotekę systemową pthread
ze swoim projektem. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli kompilujesz za pomocą GCC 5 lub nowszej wersji, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0
.
Dalsze kroki
Zapoznaj się z przykładowymi aplikacjami Firebase.
Zapoznaj się z pakietem SDK typu open source na GitHubie.
Przygotuj się do uruchomienia aplikacji:
- W konsoli Google Cloud skonfiguruj alerty dotyczące budżetu dla swojego projektu.
- Aby uzyskać ogólny obraz wykorzystania projektu w różnych usługach Firebase, monitoruj panel Wykorzystanie i rozliczenia w konsoli Firebase.
- Zapoznaj się z listą kontrolną przed wdrożeniem Firebase.