Wzmocnij swoje gry w języku C++ dzięki naszym pakietom SDK Firebase C++, które zapewniają interfejs C++ w dodatku do Firebase dla systemów iOS i Android.
Uzyskaj dostęp do Firebase całkowicie z kodu C++, bez konieczności pisania kodu natywnego dla platformy. Pakiet Firebase SDK tłumaczy również wiele idiomów specyficznych dla języka używanych przez Firebase na interfejs bardziej znany programistom C++.
Więcej informacji na temat zwiększania mocy 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 Firebase C++ SDK .
Warunki wstępne
Zainstaluj następujące elementy:
- Xcode 13.3.1 lub nowszy
- CocoaPods 1.10.0 lub nowszy
Upewnij się, że projekt jest przeznaczony dla następujących wersji platformy lub nowszych:
- iOS 10
Skonfiguruj fizyczne urządzenie z systemem iOS lub użyj symulatora systemu iOS, aby uruchomić aplikację.
Oto wymagania wstępne dotyczące usługi Cloud Messaging na platformach Apple:
- Skonfiguruj fizyczne urządzenie Apple .
- Uzyskaj klucz uwierzytelniania Apple Push Notification dla swojego konta Apple Developer .
- Włącz powiadomienia push w Xcode w menu App > Capabilities .
Zaloguj się do Firebase przy użyciu swojego konta Google.
Krok 2 : utwórz projekt Firebase
Zanim dodasz Firebase do projektu C++, musisz utworzyć projekt Firebase, aby połączyć się z projektem C++. Odwiedź Zrozumienie projektów Firebase , aby dowiedzieć się więcej o projektach Firebase.
Krok 3 : Zarejestruj swoją aplikację w Firebase
Aby używać Firebase w swojej aplikacji Apple, musisz zarejestrować swoją 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 swojej 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 projektów, 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ć dla tej aplikacji Firebase po jej zarejestrowaniu w projekcie Firebase.
(Opcjonalnie) Wpisz 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
App Store ID : używany przez Firebase Dynamic Links do przekierowywania użytkowników na Twoją 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 Zarejestruj aplikację .
Krok 4 : Dodaj plik konfiguracyjny Firebase
Kliknij Pobierz GoogleService-Info.plist , aby uzyskać plik konfiguracyjny platform Apple Firebase.
Plik konfiguracyjny Firebase zawiera unikalne, ale nie tajne identyfikatory Twojego projektu. Aby dowiedzieć się więcej o tym pliku konfiguracyjnym, odwiedź stronę Zrozumienie projektów Firebase .
W dowolnym momencie możesz ponownie pobrać plik konfiguracyjny Firebase .
Upewnij się, że nazwa pliku konfiguracyjnego nie zawiera dodatkowych znaków, takich jak
(2)
.
Otwórz projekt C++ w środowisku IDE, a następnie przeciągnij plik konfiguracyjny do katalogu głównego projektu C++.
Jeśli pojawi się monit, wybierz, aby dodać plik konfiguracyjny do wszystkich celów.
Skończyłeś konfigurować zadania w konsoli Firebase. Przejdź do sekcji Dodaj pakiety SDK Firebase C++ poniżej.
Krok 5. Dodaj pakiety SDK Firebase C++
Czynności opisane w tej sekcji stanowią przykład dodawania obsługiwanych produktów Firebase do projektu Firebase C++.
Pobierz pakiet Firebase C++ SDK , a następnie rozpakuj go w dogodnym miejscu.
Pakiet Firebase C++ SDK nie jest specyficzny dla 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 bloki Firebase, których chcesz używać w swojej aplikacji.
Analytics włączone
# 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łączone
# 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 platformy Firebase z rozpakowanego pakietu SDK.
Najłatwiejszym sposobem dodania tych struktur jest zwykle przeciągnięcie ich z okna
Finder
bezpośrednio do panelu Nawigator projektu Xcode (domyślnie skrajnie lewy panel lub kliknięcie ikony pliku w lewym górnym rogu Xcode).Dodaj platformę Firebase C++
firebase.framework
, która jest wymagana do korzystania z dowolnego produktu Firebase.Dodaj strukturę dla każdego produktu Firebase, którego chcesz użyć. Na przykład, aby korzystać z uwierzytelniania Firebase, dodaj
firebase_auth.framework
.
Wróć do konsoli Firebase, w procesie konfiguracji kliknij Dalej .
Jeśli dodałeś Analytics, uruchom aplikację, aby przesłać do Firebase weryfikację pomyślnej integracji Firebase. W przeciwnym razie możesz pominąć ten krok weryfikacji.
W dziennikach urządzenia zostanie wyświetlony komunikat Firebase potwierdzający zakończenie inicjalizacji. Jeśli aplikacja została uruchomiona w emulatorze, który ma dostęp do sieci, konsola Firebase powiadomi Cię, że połączenie aplikacji zostało zakończone.
Wszystko gotowe! Twoja aplikacja C++ jest zarejestrowana i skonfigurowana do korzystania z produktów Firebase.
Dostępne biblioteki
Dowiedz się więcej o bibliotekach Firebase C++ w dokumentacji referencyjnej oraz w naszym wydaniu SDK typu open source w serwisie GitHub .
Dostępne biblioteki na iOS
Należy zauważyć, że biblioteki C++ dla systemu Android są wymienione w wersji tej strony konfiguracji dla systemu Android .
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++.
Produkt Firebase | Ramy i pody |
---|---|
AdMob | (wymagane) firebase.framework firebase_admob.framework (wymagane) firebase_analytics.framework pod 'FirebaseAdMob', '9.4.0' (wymagane) pod 'FirebaseAnalytics', '9.4.0' |
Analityka | (wymagane) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '9.4.0' |
Uwierzytelnianie | (wymagane) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '9.4.0' |
Cloud Firestore | (wymagane) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '9.4.0' pod 'FirebaseAuth', '9.4.0' |
Funkcje chmury | (wymagane) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '9.4.0' |
Wiadomości w chmurze | (wymagane) firebase.framework firebase_messaging.framework (zalecane) firebase_analytics.framework pod 'FirebaseMessaging', '9.4.0' (zalecane) pod 'FirebaseAnalytics', '9.4.0' |
Magazyn w chmurze | (wymagane) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '9.4.0' |
Dynamiczne linki | (wymagane) firebase.framework firebase_dynamic_links.framework (zalecane) firebase_analytics.framework pod 'FirebaseDynamicLinks', '9.4.0' (zalecane) pod 'FirebaseAnalytics', '9.4.0' |
Baza danych czasu rzeczywistego | (wymagane) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '9.4.0' |
Zdalna konfiguracja | (wymagane) firebase.framework firebase_remote_config.framework (zalecane) firebase_analytics.framework pod 'FirebaseRemoteConfig', '9.4.0' (zalecane) pod 'FirebaseAnalytics', '9.4.0' |
Dodatkowe informacje dotyczące konfiguracji mobilnej
Metoda swizzling
W systemie iOS niektóre zdarzenia aplikacji (takie jak otwieranie adresów URL i otrzymywanie powiadomień) wymagają, aby delegat aplikacji zaimplementował określone metody. Na przykład odbieranie powiadomienia może wymagać, aby delegat aplikacji zaimplementował 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 programy obsługi oprócz tych, które zostały zaimplementowane.
Biblioteki Dynamic Links i Cloud Messaging muszą dołączyć programy 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 przestawi na nią wymagane metody, łącząc wywołanie z powrotem z istniejącą implementacją metody.
Skonfiguruj przepływ pracy na komputerze ( beta )
Kiedy tworzysz grę, często łatwiej jest najpierw przetestować ją na platformach stacjonarnych, a następnie wdrożyć i przetestować na urządzeniach mobilnych na późniejszym etapie tworzenia. Aby obsłużyć ten przepływ pracy, udostępniamy podzbiór zestawów SDK Firebase C++ , które można uruchamiać w systemach Windows, macOS, Linux oraz w edytorze C++.
W przypadku przepływów pracy na komputerze musisz wykonać następujące czynności:
- Skonfiguruj projekt C++ dla CMake.
- Utwórz projekt Firebase
- Zarejestruj swoją aplikację (iOS lub Android) w Firebase
- Dodaj plik konfiguracyjny Firebase dla platformy mobilnej
Utwórz komputerową wersję pliku konfiguracyjnego Firebase:
Jeśli dodałeś plik
google-services.json
systemu Android — po uruchomieniu aplikacji Firebase zlokalizuje ten plik mobilny , a następnie automatycznie wygeneruje plik konfiguracyjny Firebase dla komputerów stacjonarnych (google-services-desktop.json
).Jeśli dodałeś plik
GoogleService-Info.plist
dla systemu iOS – przed uruchomieniem aplikacji musisz przekonwertować ten plik mobilny na plik konfiguracyjny Firebase na komputery . Aby przekonwertować plik, uruchom następujące polecenie z tego samego katalogu, co plikGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ten plik konfiguracyjny na komputery stacjonarne zawiera identyfikator projektu C++ wprowadzony w przepływie pracy konfiguracji konsoli Firebase. Odwiedź stronę Understand Firebase Projects , aby dowiedzieć się więcej o plikach konfiguracyjnych.
Dodaj pakiety SDK Firebase do swojego projektu w języku C++.
Poniższe kroki stanowią przykład tego, jak dodać dowolny obsługiwany produkt Firebase do projektu C++. W tym przykładzie omówimy dodawanie Uwierzytelniania Firebase i Bazy danych czasu rzeczywistego Firebase.
Ustaw zmienną środowiskową
FIREBASE_CPP_SDK_DIR
na lokalizację rozpakowanego pakietu Firebase C++ SDK.Do pliku
CMakeLists.txt
projektu dodaj następującą zawartość, w tym biblioteki produktów Firebase, których chcesz użyć. Na przykład, aby użyć Uwierzytelniania Firebase i Bazy danych czasu rzeczywistego Firebase:# 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 Firebase C++ SDK obejmuje obsługę przepływów pracy na pulpicie dla podzbioru funkcji, dzięki czemu niektóre części Firebase mogą być używane w samodzielnych kompilacjach pulpitu w systemach Windows, macOS i Linux.
Produkt Firebase | Odniesienia do bibliotek (za pomocą CMake) |
---|---|
Uwierzytelnianie | firebase_auth (wymagane) firebase_app |
Cloud 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 skrótowe (niefunkcjonalne) dla wygody podczas kompilowania dla systemów Windows, macOS i Linux. Dlatego nie musisz warunkowo kompilować kodu, aby kierować go na pulpit.
Pulpit bazy danych czasu rzeczywistego
Zestaw SDK bazy danych czasu rzeczywistego dla komputerów stacjonarnych używa REST w celu uzyskania dostępu do bazy danych, więc musisz zadeklarować indeksy , których używasz z Query::OrderByChild()
na komputerze stacjonarnym, w przeciwnym razie odbiorniki ulegną awarii.
Dodatkowe informacje dotyczące konfiguracji pulpitu
Biblioteki Windows
W przypadku systemu Windows dostępne są wersje bibliotek w oparciu o następujące elementy:
- Platforma kompilacji: tryb 32-bitowy (x86) vs. 64-bitowy (x64)
- Środowisko wykonawcze Windows: wielowątkowy / MT vs wielowątkowy DLL / MD
- Cel: wydanie a debugowanie
Należy zauważyć, że następujące biblioteki zostały przetestowane przy użyciu programu Visual Studio 2015 i 2017.
Podczas tworzenia aplikacji klasycznych C++ w systemie Windows połącz z projektem następujące biblioteki Windows SDK. Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteka Firebase C++ | Zależności biblioteki Windows SDK |
---|---|
Uwierzytelnianie | advapi32, ws2_32, crypt32 |
Cloud 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
W przypadku systemu macOS (Darwin) dostępne są wersje bibliotek dla platformy 64-bitowej (x86_64). Ramy są również dostępne dla Twojej wygody.
Zwróć uwagę, że biblioteki macOS zostały przetestowane przy użyciu Xcode 13.3.1.
Tworząc aplikacje klasyczne w języku C++ w systemie macOS, połącz następujące elementy z projektem:
- biblioteka systemowa
pthread
- Framework systemu macOS
CoreFoundation
-
Foundation
struktura systemu macOS -
Security
Framework systemu macOS - Struktura systemu
GSS
macOS - Struktura systemu
Kerberos
macOS -
SystemConfiguration
systemu Struktura systemu macOS
Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteki linuksowe
W przypadku systemu Linux dostępne są wersje bibliotek dla platform 32-bitowych (i386) i 64-bitowych (x86_64).
Zauważ, że biblioteki Linux były testowane przy użyciu GCC 4.8.0, GCC 7.2.0 i Clang 5.0 na Ubuntu.
Podczas tworzenia aplikacji klasycznych C++ w systemie Linux połącz bibliotekę systemową pthread
z projektem. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli tworzysz z GCC 5 lub nowszym, 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życia i rozliczeń w konsoli Firebase, aby uzyskać ogólny obraz wykorzystania projektu w wielu usługach Firebase.
- Zapoznaj się z listą kontrolną uruchamiania Firebase .