Wzmocnij swoje gry C++ za pomocą naszych zestawów SDK Firebase C++, które zapewniają interfejs C++ oprócz zestawów SDK Firebase.
Uzyskaj dostęp do Firebase całkowicie ze swojego kodu C++, bez konieczności pisania kodu natywnego dla platformy. Zestaw SDK Firebase tłumaczy także wiele idiomów specyficznych dla języka używanych przez Firebase na interfejs bardziej znany programistom C++.
Więcej informacji o zasilaniu gier za pomocą Firebase znajdziesz na naszej stronie gier Firebase .
Dodałeś już Firebase do swojego projektu C++? Upewnij się, że używasz najnowszej wersji pakietu SDK Firebase C++ .
Warunki wstępne
Zainstaluj następujące elementy:
- Xcode 13.3.1 lub nowszy
- CocoaPods 1.10.0 lub nowszy
Upewnij się, że Twój projekt jest skierowany na następujące wersje platform lub nowsze:
- iOS 11
- tvOS 12
Skonfiguruj urządzenie fizyczne lub użyj symulatora, aby uruchomić aplikację.
Oto wymagania wstępne dotyczące usługi Cloud Messaging na platformach Apple:
- Skonfiguruj fizyczne urządzenie Apple .
- Uzyskaj klucz uwierzytelniający powiadomienia Apple Push dla swojego konta programisty Apple .
- Włącz powiadomienia push w Xcode w obszarze Aplikacja > Możliwości .
Zaloguj się do Firebase przy użyciu swojego konta Google.
Krok 2 : Utwórz projekt Firebase
Zanim będziesz mógł dodać Firebase do swojego projektu C++, musisz utworzyć projekt Firebase, aby połączyć się z projektem C++. Odwiedź stronę Poznaj projekty Firebase, aby dowiedzieć się więcej o projektach Firebase.
Krok 3 : Zarejestruj swoją aplikację w Firebase
Aby używać Firebase w aplikacji Apple, musisz zarejestrować aplikację w projekcie Firebase. Rejestracja aplikacji jest często nazywana „dodawaniem” aplikacji do projektu.
Przejdź do konsoli Firebase .
Na środku strony przeglądu projektu kliknij ikonę iOS+ , aby uruchomić proces konfiguracji.
Jeśli dodałeś już aplikację do projektu Firebase, kliknij Dodaj aplikację , aby wyświetlić opcje platformy.
Wpisz identyfikator pakietu aplikacji w polu identyfikatora pakietu .
Identyfikator pakietu jednoznacznie identyfikuje aplikację w ekosystemie Apple.
Znajdź swój identyfikator pakietu: otwórz swój projekt w Xcode, wybierz aplikację najwyższego poziomu w nawigatorze projektu, a następnie wybierz kartę Ogólne .
Wartością pola Identyfikator pakietu jest identyfikator pakietu (na przykład
com.yourcompany.yourproject
).Pamiętaj, że w wartości identyfikatora pakietu rozróżniana jest wielkość liter i nie można jej zmienić w przypadku tej aplikacji Firebase po jej zarejestrowaniu w projekcie Firebase.
(Opcjonalnie) Wprowadź inne informacje o aplikacji: pseudonim aplikacji i identyfikator App Store .
Pseudonim aplikacji : wewnętrzny, wygodny identyfikator, który jest widoczny tylko dla Ciebie w konsoli Firebase
Identyfikator App Store : używany przez Firebase Dynamic Links do przekierowywania użytkowników na stronę App Store oraz przez Google Analytics do importowania zdarzeń konwersji do Google Ads . Jeśli Twoja aplikacja nie ma jeszcze identyfikatora App Store, możesz dodać go później w ustawieniach projektu .
Kliknij opcję Zarejestruj aplikację .
Krok 4 : Dodaj plik konfiguracyjny Firebase
Kliknij Pobierz plik GoogleService-Info.plist, aby uzyskać plik konfiguracyjny platform Firebase Apple.
Plik konfiguracyjny Firebase zawiera unikalne, ale nie tajne identyfikatory Twojego projektu. Aby dowiedzieć się więcej o tym pliku konfiguracyjnym, odwiedź stronę Informacje o projektach Firebase .
W dowolnym momencie możesz ponownie pobrać plik konfiguracyjny Firebase .
Upewnij się, że nazwa pliku konfiguracyjnego nie jest uzupełniona dodatkowymi znakami, takimi jak
(2)
.
Otwórz projekt C++ w IDE, a następnie przeciągnij plik konfiguracyjny do katalogu głównego projektu C++.
Jeśli zostanie wyświetlony monit, wybierz opcję dodania pliku konfiguracyjnego do wszystkich obiektów docelowych.
Skończyłeś konfigurowanie zadań w konsoli Firebase. Kontynuuj dodawanie pakietów SDK Firebase C++ poniżej.
Krok 5 : Dodaj zestawy SDK Firebase C++
Kroki opisane w tej sekcji stanowią przykład dodawania obsługiwanych produktów Firebase do projektu Firebase C++.
Pobierz pakiet SDK Firebase C++ , a następnie rozpakuj zestaw SDK w dogodnym miejscu.
Zestaw SDK Firebase C++ nie jest specyficzny dla platformy, ale zawiera biblioteki specyficzne dla platformy.
Dodaj pody Firebase z rozpakowanego zestawu SDK.
Utwórz Podplik, jeśli jeszcze go nie masz:
cd your-app-directory
pod init
Do swojego Podfile dodaj pody Firebase, których chcesz używać w swojej aplikacji.
Analityka włączona
# 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'Analityka 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 zasobniki, a następnie otwórz plik
.xcworkspace
w Xcode.pod install
open your-app.xcworkspace
Dodaj frameworki Firebase z rozpakowanego pakietu SDK.
Najłatwiejszym sposobem dodania tych frameworków jest zwykle przeciągnięcie ich z okna
Finder
bezpośrednio do panelu Nawigatora projektu Xcode (domyślnie lewy panel lub kliknięcie ikony pliku w lewym górnym rogu Xcode).Dodaj framework Firebase C++
firebase.framework
, który jest wymagany do korzystania z dowolnego produktu Firebase.Dodaj framework dla każdego produktu Firebase, którego chcesz używać. Na przykład, aby użyć uwierzytelniania Firebase, dodaj
firebase_auth.framework
.
W konsoli Firebase, w procesie konfiguracji, kliknij Dalej .
Jeśli dodałeś Analytics, uruchom aplikację, aby wysłać do Firebase weryfikację, że pomyślnie zintegrowałeś Firebase. W przeciwnym razie możesz pominąć ten krok weryfikacji.
W dziennikach urządzenia zostanie wyświetlona weryfikacja Firebase potwierdzająca zakończenie inicjalizacji. Jeśli uruchomiłeś aplikację na emulatorze mającym dostęp do sieci, konsola Firebase powiadomi Cię, że połączenie aplikacji zostało nawiązane.
Wszystko gotowe! Twoja aplikacja C++ jest zarejestrowana i skonfigurowana do korzystania z produktów Firebase.
Dostępne biblioteki
Dowiedz się więcej o bibliotekach C++ Firebase w dokumentacji referencyjnej oraz w naszej wersji pakietu SDK typu open source w serwisie GitHub .
Dostępne biblioteki dla platform Apple
Należy pamiętać, że biblioteki C++ dla systemu Android są wymienione w wersji dla systemu Android na tej stronie konfiguracji .
Każdy produkt Firebase ma inne zależności. Pamiętaj, aby dodać wszystkie wymienione zależności dla żądanego produktu Firebase do projektu Podfile i C++.
Każdy produkt Firebase może obsługiwać tylko wybrane platformy Apple OS (iOS, tvOS itp.). Sprawdź, które platformy są obsługiwane przez poszczególne biblioteki, w Dowiedz się więcej o C++ i Firebase .
Produkt Firebase | Frameworki i Pody |
---|---|
AdMob | (wymagane) firebase.framework firebase_admob.framework (wymagane) firebase_analytics.framework pod 'FirebaseAdMob', '10.15.0' (wymagane) pod 'FirebaseAnalytics', '10.15.0' |
Analityka | (wymagane) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.15.0' |
Kontrola aplikacji | (wymagane) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.15.0' |
Uwierzytelnianie | (wymagane) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.15.0' |
Chmura Firestore | (wymagane) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.15.0' pod 'FirebaseAuth', '10.15.0' |
Funkcje chmury | (wymagane) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.15.0' |
Wiadomości w chmurze | (wymagane) firebase.framework firebase_messaging.framework (zalecane) firebase_analytics.framework pod 'FirebaseMessaging', '10.15.0' (zalecane) pod 'FirebaseAnalytics', '10.15.0' |
Magazyn w chmurze | (wymagane) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.15.0' |
Linki dynamiczne | (wymagane) firebase.framework firebase_dynamic_links.framework (zalecane) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.15.0' (zalecane) pod 'FirebaseAnalytics', '10.15.0' |
Baza danych czasu rzeczywistego | (wymagane) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.15.0' |
Zdalna konfiguracja | (wymagane) firebase.framework firebase_remote_config.framework (zalecane) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.15.0' (zalecane) pod 'FirebaseAnalytics', '10.15.0' |
Dodatkowe informacje dotyczące konfiguracji mobilnej
Metoda swizzowania
W systemie iOS niektóre zdarzenia aplikacji (takie jak otwieranie adresów URL i odbieranie powiadomień) wymagają od delegata aplikacji zaimplementowania określonych metod. Na przykład otrzymanie powiadomienia może wymagać od delegata aplikacji zaimplementowania application:didReceiveRemoteNotification:
. Ponieważ każda aplikacja na iOS ma własnego delegata aplikacji, Firebase używa metody swizzling , która umożliwia zastąpienie jednej metody inną, aby dołączyć własne procedury obsługi oprócz tych, które mogłeś zaimplementować.
Biblioteki Dynamic Links i Cloud Messaging muszą dołączyć procedury obsługi do delegata aplikacji przy użyciu metody swizzling. Jeśli używasz któregokolwiek z tych produktów Firebase, w czasie ładowania Firebase zidentyfikuje Twoją klasę AppDelegate
i zamieni na nią wymagane metody, łącząc wywołanie z powrotem z istniejącą implementacją metody.
Skonfiguruj przepływ pracy na komputerze stacjonarnym ( beta )
Kiedy tworzysz grę, często znacznie łatwiej jest najpierw przetestować ją na platformach stacjonarnych, a następnie wdrożyć i przetestować na urządzeniach mobilnych w późniejszym etapie jej tworzenia. Aby wesprzeć ten przepływ pracy, udostępniamy podzbiór zestawów SDK Firebase C++ , które można uruchomić w systemach Windows, macOS, Linux oraz w edytorze C++.
W przypadku przepływów pracy na komputerze stacjonarnym należy wykonać następujące czynności:
- Skonfiguruj swój projekt C++ dla CMake.
- Utwórz projekt Firebase
- Zarejestruj swoją aplikację (iOS lub Android) w Firebase
- Dodaj plik konfiguracyjny Firebase platformy mobilnej
Utwórz wersję komputerową pliku konfiguracyjnego Firebase:
Jeśli dodano plik
google-services.json
na Androida — po uruchomieniu aplikacji Firebase lokalizuje ten plik mobilny , a następnie automatycznie generuje plik konfiguracyjny Firebase na komputer stacjonarny (google-services-desktop.json
).Jeśli dodałeś plik iOS
GoogleService-Info.plist
— przed uruchomieniem aplikacji musisz przekonwertować ten plik mobilny na plik konfiguracyjny Firebase na komputery stacjonarne . Aby przekonwertować plik, uruchom następujące polecenie z tego samego katalogu, w którym znajduje się plikGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ten plik konfiguracyjny pulpitu zawiera identyfikator projektu C++ wprowadzony w przepływie pracy konfiguracji konsoli Firebase. Odwiedź stronę Poznaj projekty Firebase, aby dowiedzieć się więcej o plikach konfiguracyjnych.
Dodaj zestawy SDK Firebase do swojego projektu C++.
Poniższe kroki służą jako przykład dodania dowolnego obsługiwanego produktu Firebase do projektu C++. W tym przykładzie omówimy dodanie uwierzytelniania Firebase i bazy danych Firebase Realtime.
Ustaw zmienną środowiskową
FIREBASE_CPP_SDK_DIR
na lokalizację rozpakowanego pakietu SDK Firebase C++.Do pliku
CMakeLists.txt
swojego projektu dodaj następującą zawartość, w tym biblioteki produktów Firebase, których chcesz używać. Na przykład, aby użyć uwierzytelniania Firebase i bazy danych Firebase Realtime:# 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ę C++.
Dostępne biblioteki (komputer stacjonarny)
Pakiet SDK Firebase C++ obejmuje obsługę przepływu pracy na komputerze stacjonarnym dla podzbioru funkcji, umożliwiając używanie niektórych części Firebase w samodzielnych kompilacjach komputerów stacjonarnych w systemach Windows, macOS i Linux.
Produkt Firebase | Biblioteki referencyjne (przy użyciu CMake) |
---|---|
Kontrola aplikacji | firebase_app_check (wymagane) firebase_app |
Uwierzytelnianie | firebase_auth (wymagane) firebase_app |
Chmura Firestore | firebase_firestore firebase_auth firebase_app |
Funkcje chmury | firebase_functions (wymagane) firebase_app |
Magazyn w chmurze | firebase_storage (wymagane) firebase_app |
Baza danych czasu rzeczywistego | firebase_database (wymagane) firebase_app |
Zdalna konfiguracja | firebase_remote_config (wymagane) firebase_app |
Firebase udostępnia pozostałe biblioteki komputerowe jako implementacje pośredniczące (niefunkcjonalne) dla wygody podczas tworzenia dla systemów Windows, macOS i Linux. W związku z tym nie trzeba warunkowo kompilować kodu przeznaczonego na komputer stacjonarny.
Pulpit bazy danych czasu rzeczywistego
Zestaw SDK bazy danych czasu rzeczywistego dla komputerów stacjonarnych korzysta z protokołu REST w celu uzyskania dostępu do bazy danych, dlatego musisz zadeklarować indeksy , których używasz z Query::OrderByChild()
na komputerze stacjonarnym, w przeciwnym razie detektory zawiodą.
Dodatkowe informacje dotyczące konfiguracji komputera stacjonarnego
Biblioteki Windowsa
W przypadku systemu Windows dostępne są wersje bibliotek oparte na następujących zasadach:
- Platforma kompilacji: tryb 32-bitowy (x86) vs 64-bitowy (x64).
- Środowisko wykonawcze Windows: wielowątkowe/MT vs wielowątkowe DLL/MD
- Cel: wydanie vs debugowanie
Należy pamiętać, że następujące biblioteki zostały przetestowane przy użyciu programu Visual Studio 2015 i 2017.
Tworząc aplikacje klasyczne w języku C++ w systemie Windows, połącz z projektem następujące biblioteki Windows SDK. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją kompilatora.
Biblioteka Firebase C++ | Zależności bibliotek Windows SDK |
---|---|
Kontrola aplikacji | advapi32, ws2_32, crypt32 |
Uwierzytelnianie | advapi32, ws2_32, crypt32 |
Chmura Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Funkcje chmury | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Magazyn w chmurze | advapi32, ws2_32, crypt32 |
Baza danych czasu rzeczywistego | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Zdalna konfiguracja | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Biblioteki macOS-u
W przypadku systemu macOS (Darwin) dostępne są wersje bibliotek dla platformy 64-bitowej (x86_64). Dla Twojej wygody dostępne są również struktury.
Należy pamiętać, że biblioteki macOS zostały przetestowane przy użyciu Xcode 13.3.1.
Tworząc aplikacje komputerowe w języku C++ na macOS, połącz następujące elementy ze swoim projektem:
- biblioteka systemowa
pthread
- Struktura systemu macOS
CoreFoundation
-
Foundation
struktura systemu macOS - Struktura systemu
Security
macOS - Struktura systemu
GSS
macOS - Struktura systemu
Kerberos
macOS - Konfiguracja
SystemConfiguration
Struktura systemu macOS
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją kompilatora.
Biblioteki Linuksa
W przypadku systemu Linux dostępne są wersje bibliotek dla platform 32-bitowych (i386) i 64-bitowych (x86_64).
Należy pamiętać, że biblioteki systemu Linux zostały przetestowane przy użyciu GCC 4.8.0, GCC 7.2.0 i Clang 5.0 na Ubuntu.
Tworząc aplikacje klasyczne w języku C++ w systemie Linux, połącz bibliotekę systemową pthread
ze swoim projektem. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją kompilatora. Jeśli budujesz przy użyciu GCC 5 lub nowszego, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0
.
Następne kroki
Poznaj przykładowe aplikacje Firebase .
Przygotuj się do uruchomienia aplikacji:
- Skonfiguruj alerty budżetowe dla swojego projektu w Google Cloud Console.
- Monitoruj panel użytkowania i rozliczeń w konsoli Firebase, aby uzyskać ogólny obraz wykorzystania projektu w wielu usługach Firebase.
- Przejrzyj listę kontrolną uruchamiania Firebase .