Dodaj Firebase do projektu C++

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 najnowszej wersji pakietu SDK Firebase C++.

.

Wymagania wstępne

  • Zainstaluj następujące elementy:

    • Xcode 13.3.1 lub nowsza wersja
    • CocoaPods w wersji 1.12.0 lub nowszej
  • Upewnij się, że Twój projekt jest kierowany na te wersje platformy lub nowsze:

    • iOS 11
    • tvOS 12
  • Skonfiguruj urządzenie fizyczne lub użyj symulatora, aby uruchomić aplikację.

  • Zaloguj się w Firebase za pomocą Konto Google.

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 Apple, musisz ją zarejestrować w projekt Firebase. Rejestracja aplikacji często nazywa się „dodawaniem” aplikacji na w projektach AI.

  1. Otwórz konsolę Firebase.

  2. Na środku strony przeglądu projektu kliknij ikonę iOS+. aby rozpocząć proces konfiguracji.

    Jeśli masz już aplikację w projekcie Firebase, kliknij Dodaj aplikację. aby wyświetlić opcje platformy.

  3. W polu identyfikator pakietu wpisz identyfikator pakietu aplikacji.

    .
  4. (Opcjonalnie) Wpisz inne informacje o aplikacji: Nazwa aplikacji i identyfikator App Store.

  5. Kliknij Zarejestruj aplikację.

Krok 4. Dodaj plik konfiguracji Firebase

  1. Kliknij Download GoogleService-Info.plist, aby otrzymać Firebase Apple .

  2. Otwórz projekt C++ w IDE, a następnie przeciągnij plik konfiguracyjny do katalogu głównego. swojego projektu C++.

  3. Jeśli pojawi się taka prośba, wybierz opcję dodania pliku konfiguracyjnego do wszystkich środowisk docelowych.

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ą na przykładzie dodawania obsługiwanych usług Firebase do Firebase. projekt w C++.

  1. Pobierz pakiet SDK Firebase w C++, a potem rozpakuj go w dogodnym miejscu.

    Pakiet SDK Firebase w C++ nie jest związany z konkretną platformą, ale zawiera bibliotekach używanych na poszczególnych platformach.

  2. Dodaj pody Firebase z rozpakowanego pakietu SDK.

    1. Utwórz plik Podfile, jeśli jeszcze go nie masz:

      cd your-app-directory
      pod init

    2. Do pliku Podfile dodaj pody Firebase, których chcesz używać. .

      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'

      Statystyki nie są 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'
    3. Zainstaluj pody, a następnie otwórz plik .xcworkspace w Xcode.

      pod install
      open your-app.xcworkspace

  3. Dodaj struktury Firebase z rozpakowanego pliku SDK.

    Aby je dodać, przeciągniesz je z Finder bezpośrednio do panelu Project Navigator w Xcode ( domyślny panel od lewej strony; lub kliknij ikonę pliku w lewym górnym rogu Xcode).

    1. Dodaj platformę C++ Firebase firebase.framework, która jest wymagane do korzystania z dowolnej usługi Firebase.

    2. Dodaj platformę do każdej usługi Firebase, której chcesz używać. Dla: Aby na przykład używać uwierzytelniania Firebase, dodaj firebase_auth.framework.

    .
  4. Gdy wrócisz do konsoli Firebase, w procesie konfiguracji kliknij Dalej.

  5. Jeśli masz dodaną usługę Analytics, uruchom aplikację, aby wysłać weryfikację do Firebase udało Ci się zintegrować Firebase. W przeciwnym razie możesz pominąć ten krok 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.

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 dla platform Apple

Biblioteki C++ dla systemu Android są wymienione w wersji tego systemu stronie konfiguracji.

Każda usługa Firebase ma inne zależności. Pamiętaj, aby dodać wszystkie wymienione zależności między odpowiednią usługą Firebase a plikiem Podfile projekt w C++.

Każda usługa Firebase może obsługiwać tylko wybrane platformy systemu operacyjnego Apple (iOS, tvOS itp.). Sprawdź, które platformy są obsługiwane przez poszczególne biblioteki Więcej informacji o C++ i Firebase

Usługa Firebase Ramki i pody
AdMob (wymagane) firebase.framework

firebase_admob.framework (wymagane) firebase_analytics.framework


pod 'FirebaseAdMob', '10.28.1' (wymagane) pod 'FirebaseAnalytics', '10.28.1'
Analytics (wymagane) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '10.28.1'
Sprawdzanie aplikacji (wymagane) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '10.28.1'
Uwierzytelnianie (wymagane) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '10.28.1'
Cloud Firestore (wymagane) firebase.framework

firebase_firestore.framework firebase_auth.framework


pod 'FirebaseFirestore', '10.28.1' pod 'FirebaseAuth', '10.28.1'
Funkcje Cloud (wymagane) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '10.28.1'
Komunikacja w chmurze (wymagane) firebase.framework

firebase_messaging.framework (zalecane) firebase_analytics.framework


pod 'FirebaseMessaging', '10.28.1' (zalecane) pod 'FirebaseAnalytics', '10.28.1'
Cloud Storage (wymagane) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '10.28.1'
Linki dynamiczne (wymagane) firebase.framework

firebase_dynamic_links.framework (zalecane) firebase_analytics.framework


pod 'FirebaseDynamicLinks', '10.28.1' (zalecane) pod 'FirebaseAnalytics', '10.28.1'
Baza danych czasu rzeczywistego (wymagane) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '10.28.1'
Zdalna konfiguracja (wymagane) firebase.framework

firebase_remote_config.framework (zalecane) firebase_analytics.framework


pod 'FirebaseRemoteConfig', '10.28.1' (zalecane) pod 'FirebaseAnalytics', '10.28.1'

Dodatkowe informacje na temat konfiguracji telefonu komórkowego

Dostosowywanie metod

W systemie iOS niektóre zdarzenia aplikacji (takie jak otwieranie adresów URL i odbieranie powiadomień), wymagają, aby przedstawiciel aplikacji mógł zaimplementować konkretne . Na przykład otrzymanie powiadomienia może wymagać przesłania zgłoszenia. przekazać do implementacji funkcji application:didReceiveRemoteNotification:. Ponieważ każda aplikacja na iOS ma własnego przedstawiciela, miganie metod, które umożliwia zastąpienie jednej metody inną; dołącza własne moduły obsługi oprócz tych, które zostały zaimplementowane.

Biblioteki linków dynamicznych i komunikacji w chmurze wymagają aby dołączyć moduły obsługi do przedstawicieli aplikacji, korzystając z funkcji przesuwania metod. Jeśli używasz dowolnej z tych usług Firebase, podczas wczytywania Zidentyfikuj klasę AppDelegate i połącz z nią wymagane metody, łańcuch wywołań zwrotnych z istniejącą implementacją metody.

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 w C++, który może działać w systemach Windows, macOS i Linux oraz w edytorze C++.

  1. W przypadku pracy na komputerze musisz wykonać te czynności:

    1. Skonfiguruj projekt C++ pod kątem CMake.
    2. Tworzenie projektu Firebase
    3. Rejestrowanie aplikacji (na iOS lub Androida) za pomocą Firebase
    4. Dodaj plik konfiguracji Firebase platformy mobilnej
  2. 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 plik GoogleService-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.

  3. 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 Uwierzytelnianie Firebase i Baza danych czasu rzeczywistego Firebase.

    1. Ustaw zmienną środowiskową FIREBASE_CPP_SDK_DIR na lokalizację rozpakowany pakiet SDK Firebase w C++.

    2. 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ć Uwierzytelnianie Firebase i Baza 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}")
      
  4. Uruchom aplikację w języku C++.

Dostępne biblioteki (na komputerze)

Pakiet SDK Firebase C++ obejmuje obsługę przepływu pracy na komputerach 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)
Sprawdzanie aplikacji firebase_app_check
(wymagane) firebase_app
Uwierzytelnianie firebase_auth
(wymagane) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
Funkcje Cloud firebase_functions
(wymagane) firebase_app
Cloud Storage 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 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.

Baza danych czasu rzeczywistego (Realtime Database) na komputerze

Pakiet SDK bazy danych czasu rzeczywistego na komputery uzyskuje dostęp do Twojej bazy danych za pomocą REST, dlatego zadeklaruj indeksy, które z którego korzystasz 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
Sprawdzanie aplikacji advapi32, ws2_32, crypt32
Uwierzytelnianie 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
Baza danych czasu rzeczywistego advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
Zdalna konfiguracja 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