Zwiększ skuteczność swoich gier w C++ dzięki naszym pakietom SDK Firebase C++, które zapewniają pakiet SDK w języku C++ z interfejsem SDK Firebase.
Dostęp do Firebase w pełni z poziomu kodu C++, bez konieczności pisania przez kod natywny. Pakiet SDK Firebase tłumaczy także wiele idiomy używane przez Firebase w interfejsie lepiej znanym programistom C++.
Więcej informacji o zwiększaniu skuteczności gier dzięki Firebase znajdziesz w naszym Strona gier w Firebase
Masz już dodaną Firebase do swojego projektu w C++? Upewnij się, że używasz tagu najnowszą wersję pakietu SDK Firebase C++.
Wymagania wstępne
Zainstaluj preferowany edytor lub IDE, takie jak Android Studio, IntelliJ lub VS Code.
Pobierz pakiet SDK na Androida.
Sprawdź, czy Twój projekt spełnia te wymagania:
Docelowy poziom interfejsu API: 19 (KitKat) lub więcej
Używa Gradle i jest skonfigurowany z CMake
Skonfiguruj urządzenie fizyczne lub użyj emulatora, aby uruchomić aplikację.
Zaloguj się w Firebase, korzystając ze swojego konta Google koncie.
Krok 2. Utwórz projekt Firebase
Zanim dodasz Firebase do swojego projektu w C++, musisz utworzyć projekt, który chcesz połączyć z projektem w C++. Odwiedź Więcej informacji o projektach Firebase Projekty Firebase.
Krok 3. Zarejestruj aplikację w Firebase
Aby używać Firebase w swojej aplikacji na Androida, musisz ją zarejestrować w projekt Firebase. Rejestracja aplikacji często nazywa się „dodawaniem” aplikacji na w projektach AI.
Otwórz konsolę Firebase.
Na środku strony przeglądu projektu kliknij ikonę Androida. (
) lub Dodaj aplikację, aby rozpocząć proces konfiguracji.Wpisz nazwę pakietu aplikacji w polu Nazwa pakietu na Androida.
(Opcjonalnie) Wpisz inne informacje o aplikacji: Nazwa aplikacji i Certyfikat podpisywania debugowania SHA-1.
Kliknij Zarejestruj aplikację.
Krok 4. Dodaj plik konfiguracji Firebase
Kliknij Pobierz google-services.json, aby uzyskać Firebase na Androida. .
Otwórz swój projekt C++ w IDE, a następnie dodaj do niego plik konfiguracyjny:
Kompilacje Gradle – dodaj plik konfiguracyjny do tego samego katalogu, w którym znajduje się Twój pliku
build.gradle
najwyższego poziomu.Inne systemy kompilacji – zobacz Niestandardowe systemy kompilacji poniżej do wygenerowania Materiały dotyczące ciągów tekstowych na Androida.
(Tylko kompilacje Gradle) Aby włączyć usługi Firebase w projekcie C++, dodaj google-services wtyczka do pliku
build.gradle
najwyższego poziomu.Dodaj reguły, aby uwzględnić wtyczkę Gradle usług Google. Sprawdź, czy ma też repozytorium Google Maven.
buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following lines: classpath 'com.google.gms:google-services:4.4.2' // Google Services plugin implementation 'com.google.android.gms:18.5.0' } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
Zastosuj wtyczkę Gradle usług Google:
apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
Masz już za sobą konfigurowanie w konsoli Firebase. Przejdź do: Dodaj pakiety SDK Firebase w C++ poniżej.
Krok 5. Dodaj pakiety SDK Firebase w C++
Czynności opisane w tej sekcji pokazują, jak dodać obsługiwaną usługę Firebase produkty projektu Firebase w C++.
Pobierz Firebase C++ SDK, a potem rozpakuj go w dogodnym miejscu.
Pakiet SDK Firebase C++ nie jest związany z konkretną platformą, ale zawiera bibliotekach używanych na poszczególnych platformach.
W pliku
gradle.properties
projektu określ lokalizację rozpakowany pakiet SDK:systemProp.firebase_cpp_sdk.dir=full-path-to-SDK
Do pliku
settings.gradle
projektu dodaj tę treść:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Do pliku Gradle modułu (na poziomie aplikacji) (zwykle
app/build.gradle
) dodaj parametr następujące treści.
Dołącz zależności bibliotek dla usług Firebase, których chcesz użyć w swojej aplikacji.Włączono: Analytics
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Analytics, Firebase Authentication, and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { analytics auth database }
Funkcja Analytics nie została włączona
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { auth database }
Do pliku
CMakeLists.txt
projektu dodaj poniższą treść.
Dołącz biblioteki dla usług Firebase, których chcesz używać w swojej aplikacji.Włączono: Analytics
# 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 Analytics, Firebase Authentication, and Firebase Realtime Database set(firebase_libs firebase_analytics firebase_auth firebase_database firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Funkcja Analytics nie została włączona
# 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}")
Zsynchronizuj aplikację, aby mieć pewność, że wszystkie zależności mają niezbędne wersje.
Jeśli dodano Analytics, uruchom aplikację, aby wysłać weryfikację do Firebase udało Ci się zintegrować Firebase. W przeciwnym razie możesz pominąć weryfikacji.
W dziennikach urządzenia będzie widoczna weryfikacja Firebase zainicjowana zakończono. Jeśli aplikacja została uruchomiona na emulatorze z dostępem do sieci, Konsola Firebase powiadomi Cię, że połączenie z aplikacją zostało zakończone.
Wszystko gotowe. Twoja aplikacja w C++ jest zarejestrowana i skonfigurowana do korzystania z Firebase usług Google.
Dostępne biblioteki
Więcej informacji o bibliotekach Firebase w C++ znajdziesz w dokumentacji referencyjnej oraz pakietu SDK typu open source. znajdziesz na GitHubie.
Biblioteki dostępne na Androida (przy użyciu CMake)
Biblioteki C++ dla platform Apple są wymienione na platformach Apple (iOS+) tej strony konfiguracji.
Usługa Firebase | Odwołania do bibliotek ( firebaseCpp.dependencies plik build.gradle ) |
Odwołania do bibliotek ( firebase_libs plik CMakeLists.txt ) |
---|---|---|
AdMob | admob |
firebase_admob (wymagane) firebase_analytics (wymagane) firebase_app
|
Analytics | analytics |
firebase_analytics (wymagane) firebase_app
|
App Check | appCheck |
firebase_app_check (wymagane) firebase_app
|
Authentication | auth |
firebase_auth (wymagane) firebase_app
|
Cloud Firestore | firestore |
firebase_firestore (wymagane) firebase_auth (wymagane) firebase_app
|
Cloud Functions | functions |
firebase_functions (wymagane) firebase_app
|
Cloud Messaging | messaging |
firebase_messaging (zalecane) firebase_analytics (wymagane) firebase_app
|
Cloud Storage | storage |
firebase_storage (wymagane) firebase_app
|
Dynamic Links | dynamicLinks |
firebase_dynamic_links (zalecane) firebase_analytics (wymagane) firebase_app
|
Realtime Database | database |
firebase_database (wymagane) firebase_app
|
Remote Config | remoteConfig |
firebase_remote_config (zalecane) firebase_analytics (wymagane) firebase_app
|
Dodatkowe informacje na temat konfiguracji telefonu komórkowego
Otrzymuj raporty o awariach NDK
Firebase Crashlytics obsługuje zgłaszanie awarii w aplikacjach na Androida bibliotek natywnych. Więcej informacji: Otrzymuj raporty o awariach Androida NDK.
Niestandardowe systemy kompilacji
Firebase udostępnia skrypt generate_xml_from_google_services_json.py
, aby
przekonwertuj google-services.json
na .xml
zasoby, które możesz uwzględnić
do swojego projektu. Ten skrypt stosuje to samo przekształcenie, które wprowadziła Google Play
usług wtyczki Gradle podczas tworzenia aplikacji na Androida.
Jeśli nie tworzysz kompilacji przy użyciu Gradle (na przykład używasz ndk-build, createfiles, Visual Studio itp.), możesz użyć tego skryptu, aby zautomatyzować generowanie Ciąg znaków dotyczący Androida Zasoby.
ProGuard
W wielu systemach kompilacji Androida ProGuard na potrzeby kompilacji Tryb wydania, aby zmniejszyć rozmiar aplikacji i chronić kod źródłowy Java.
Jeśli używasz ProGuard, musisz dodać pliki w usłudze libs/android/*.pro
odpowiadające bibliotekom Firebase C++, których używasz w ProGuard
konfiguracji.
Na przykład w przypadku Gradle, jeśli używasz interfejsu Google Analytics,
Twój plik build.gradle
będzie wyglądał tak:
android { // ... buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('your-project-proguard-config.txt') proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/app.pro") proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/analytics.pro") // ... and so on, for each Firebase C++ library that you're using } } }
Wymagania dotyczące Usług Google Play
Większość bibliotek Firebase w C++ wymaga
Usługi Google Play
na urządzeniu z Androidem klienta. Jeśli biblioteka Firebase C++ zwraca
kInitResultFailedMissingDependency
przy zainicjowaniu oznacza, że Usługi Google Play nie są dostępne na
urządzenie klienckie (co oznacza, że wymaga aktualizacji, ponownego aktywowania, uprawnień)
naprawione itp.). Biblioteki Firebase nie można używać do czasu
na urządzeniu klienckim.
Możesz dowiedzieć się, dlaczego Usługi Google Play są niedostępne na urządzeniu klienckim
(i spróbuj go naprawić), używając funkcji
google_play_services/availability.h
W tej tabeli podano, czy klient musi korzystać z Usług Google Play dla każdej obsługiwanej usługi Firebase.
Biblioteka Firebase C++ | Na urządzeniu klienckim są wymagane usługi Google Play? |
---|---|
AdMob | Niewymagane (zazwyczaj) |
Analytics | Niewymagane |
Authentication | Wymagane |
Cloud Firestore | Wymagane |
Cloud Functions | Wymagane |
Cloud Messaging | Wymagane |
Cloud Storage | Wymagane |
Dynamic Links | Wymagane |
Realtime Database | Wymagane |
Remote Config | Wymagane |
AdMob i Usługi Google Play
Większość wersji pakietu SDK Google Mobile Ads na Androida działa prawidłowo
bez Usług Google Play na urządzeniu klienckim. Jeśli jednak używasz parametru
zależność com.google.android.gms:play-services-ads-lite
, a nie
standardowej zależności com.google.firebase:firebase-ads
wymienionej powyżej, Usługi Google Play są
wymagane.
Zainicjowanie funkcji AdMob zwróci tylko wartość kInitResultFailedMissingDependency
gdy są spełnione oba te warunki:
- Usługi Google Play są niedostępne na urządzeniu klienckim.
- Używasz
com.google.android.gms:play-services-ads-lite
.
Konfigurowanie przepływu pracy na komputerze (beta)
Gdy tworzysz grę, często łatwiej jest przetestować ją na komputerze platform, a później wdrażać i testować na urządzeniach mobilnych. Do pomagają w tym procesie, zapewniamy podzbiór pakietów SDK Firebase C++, które mogą działać w systemach Windows, macOS i Linux oraz w edytorze C++.
W przypadku pracy na komputerze musisz wykonać te czynności:
- Skonfiguruj projekt C++ pod kątem CMake.
- Tworzenie projektu Firebase
- Rejestrowanie aplikacji (na iOS lub Androida) za pomocą Firebase
- Dodaj plik konfiguracji Firebase platformy mobilnej
Utwórz wersję komputerową pliku konfiguracji Firebase:
Jeśli dodano plik
google-services.json
dotyczący Androida – po uruchomieniu aplikacji, Firebase zlokalizuje ten plik mobilny, a potem automatycznie generuje plik konfiguracyjny Firebase na komputery; (google-services-desktop.json
).Jeśli dodano plik
GoogleService-Info.plist
iOS – przed uruchomieniem Twojej aplikacji, musisz przekonwertować ten plik mobilny na komputer Firebase. . Aby przekonwertować plik, uruchom następujące polecenie w tym samym jako plikGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Ten plik konfiguracyjny komputera zawiera identyfikator projektu C++ wpisany w polu procesu konfiguracji konsoli Firebase. Odwiedź Informacje o projektach Firebase aby dowiedzieć się więcej o plikach konfiguracyjnych.
Dodaj pakiety SDK Firebase do projektu C++.
Poniższe kroki to przykład tego, jak dodać dowolny obsługiwanej usługi Firebase do w swoim projekcie C++. W tym przykładzie omówię dodawanie Firebase Authentication i Firebase Realtime Database.
Ustaw zmienną środowiskową
FIREBASE_CPP_SDK_DIR
na lokalizację rozpakowany pakiet SDK Firebase C++.Do pliku
CMakeLists.txt
projektu dodaj tę treść: w tym biblioteki dla Wybierz usługi Firebase, których chcesz używać. Na przykład, aby użyć 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 języku C++.
Dostępne biblioteki (na komputerze)
Pakiet SDK Firebase C++ obejmuje obsługę przepływu pracy na komputerze dla podzbioru funkcji, dzięki czemu pewne części Firebase mogą być wykorzystywane na komputery z systemami Windows, macOS i Linux.
Usługa Firebase | Odwołania do bibliotek (przy użyciu 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 komputerowe w postaci wersji atmosferycznej (niedziałającej) dla wygody użytkowników systemów Windows, macOS i Linux. Dzięki temu nie musisz warunkowo kompilować kodu kierowanego na komputer.
Realtime Database – komputer
Pakiet SDK Realtime Database na komputery uzyskuje dostęp do Twojej bazy danych za pomocą REST, dlatego
zadeklarować indeksy, które
używanych w połączeniu z usługą Query::OrderByChild()
na komputerze.
Dodatkowe informacje o konfigurowaniu ustawień na komputerze
Biblioteki systemu Windows
W przypadku systemu Windows wersje bibliotek są dostarczane w oparciu o te ustawienia:
- Platforma kompilacji: tryb 32-bitowy (x86) i 64-bitowy (x64)
- Środowisko wykonawcze Windows: wielowątkowa / MT a wielowątkowa biblioteka DLL /MD
- Cel: wersja a debugowanie
Pamiętaj, że biblioteki wymienione poniżej zostały przetestowane przy użyciu Visual Studio w wersjach 2015 i 2017.
Tworząc aplikacje komputerowe w języku C++ w systemie Windows, połącz ten pakiet SDK biblioteki. Więcej informacji znajdziesz w dokumentacji kompilatora i informacjami o nich.
Biblioteka Firebase C++ | Zależności bibliotek Windows SDK |
---|---|
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 systemu macOS
W przypadku systemu macOS (Darwin) dostępne są wersje biblioteki dla 64-bitowego (x86_64) platformy. Dla Twojej wygody zapewniamy również platformy.
Pamiętaj, że biblioteki macOS zostały przetestowane za pomocą Xcode 13.3.1
Podczas tworzenia aplikacji komputerowych w języku C++ w systemie macOS połącz z projektem te elementy:
pthread
biblioteka systemowa- Platforma systemu macOS
CoreFoundation
- Platforma systemu macOS
Foundation
- Platforma systemu macOS
Security
- Platforma systemu macOS
GSS
- Platforma systemu macOS
Kerberos
- Platforma systemu macOS
SystemConfiguration
Więcej informacji znajdziesz w dokumentacji kompilatora.
Biblioteki Linuksa
W systemie Linux dostępne są wersje biblioteki 32-bitowej (i386) i 64-bitowej (x86_64) platform.
Zwróć uwagę, że biblioteki Linuksa zostały przetestowane w GCC 4.8.0, GCC 7.2.0 oraz Clang 5.0 w systemie Ubuntu.
Podczas tworzenia aplikacji komputerowych w C++ na Linuksie połącz bibliotekę systemową pthread
z
do swojego projektu. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli
tworzysz przy użyciu GCC 5 lub nowszego, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0
.
Dalsze kroki
Zobacz przykładowe aplikacje Firebase.
Poznaj pakiet SDK open source GitHub.
Przygotowanie do wprowadzenia aplikacji:
- Określ budżet alerty swojego projektu w konsoli Google Cloud.
- Monitorowanie korzystania i płatności panel w konsoli Firebase, aby uzyskać ogólny obraz i wielu usług Firebase.
- Zapoznaj się z listą kontrolną uruchamiania Firebase.