Wzmocnij swoje gry C++ dzięki naszym pakietom SDK Firebase C++, które zapewniają interfejs C++ w dodatku do Firebase na iOS i Androida.
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 iOS lub użyj symulatora 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 .
Sign into Firebase using your Google account.
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.
Enter your app's bundle ID in the bundle ID field.
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. To learn more about this config file, visit Understand Firebase Projects .
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.
Zestaw 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.
Analiza 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'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ę, że udało Ci się zintegrować 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 C++ Firebase w dokumentacji referencyjnej oraz w naszym wydaniu SDK typu open source w witrynie GitHub .
Dostępne biblioteki na iOS
Pamiętaj, że biblioteki C++ dla systemu Android są wymienione na tej stronie 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.3.0' (wymagane) pod 'FirebaseAnalytics', '9.3.0' |
Analityka | (wymagane) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '9.3.0' |
Uwierzytelnianie | (wymagane) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '9.3.0' |
Cloud Firestore | (wymagane) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '9.3.0' pod 'FirebaseAuth', '9.3.0' |
Funkcje chmury | (wymagane) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '9.3.0' |
Wiadomości w chmurze | (wymagane) firebase.framework firebase_messaging.framework (zalecane) firebase_analytics.framework pod 'FirebaseMessaging', '9.3.0' (zalecane) pod 'FirebaseAnalytics', '9.3.0' |
Magazyn w chmurze | (wymagane) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '9.3.0' |
Dynamiczne linki | (required) firebase.framework firebase_dynamic_links.framework (recommended) firebase_analytics.framework pod 'FirebaseDynamicLinks', '9.3.0' (zalecane) pod 'FirebaseAnalytics', '9.3.0' |
Baza danych czasu rzeczywistego | (required) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '9.3.0' |
Zdalna konfiguracja | (wymagane) firebase.framework firebase_remote_config.framework (zalecane) firebase_analytics.framework pod 'FirebaseRemoteConfig', '9.3.0' (zalecane) pod 'FirebaseAnalytics', '9.3.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 za pomocą 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 znacznie ł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 dla komputerów . 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ź Zrozumienie projektów Firebase , aby dowiedzieć się więcej o plikach konfiguracyjnych.
Dodaj pakiety SDK Firebase do 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ę w języku 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 dla komputerów stacjonarnych 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 udostępniane 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 bibliotek 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.
- Przejrzyj listę kontrolną uruchamiania Firebase .