Google is committed to advancing racial equity for Black communities. See how.
Ta strona została przetłumaczona przez Cloud Translation API.
Switch to English

Dodaj Firebase do swojego projektu C ++

Ulepsz swoje gry C ++ dzięki naszym pakietom SDK Firebase C ++, które zapewniają interfejs C ++ oprócz 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 używanych przez Firebase w różnych językach na interfejs bardziej znany programistom C ++.

Więcej informacji o uruchamianiu gier za pomocą Firebase znajdziesz na naszej stronie gier Firebase .

Masz już Firebase do swojego projektu C ++? Upewnij się, że używasz najnowszej wersji pakietu SDK Firebase C ++ .

Wymagania wstępne

  • Zainstaluj następujące elementy:

    • Xcode 10.3.0 lub nowszy
    • CocoaPods 1.9.0 lub nowsza
  • Upewnij się, że projekt jest przeznaczony dla systemu iOS 10 lub nowszego.

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

  • Zaloguj się do Firebase, używając swojego konta Google.

Krok 2 : Utwórz projekt Firebase

Zanim dodasz Firebase do projektu w C ++, musisz utworzyć projekt Firebase, aby połączyć się z projektem w C ++. Odwiedź artykuł Omówienie projektów Firebase, aby dowiedzieć się więcej o projektach Firebase.

Krok 3 : zarejestruj swoją aplikację w Firebase

Po utworzeniu projektu Firebase możesz dodać do niego swoją aplikację na iOS.

Odwiedź artykuł Omówienie projektów Firebase, aby dowiedzieć się więcej o sprawdzonych metodach i uwagach dotyczących dodawania aplikacji do projektu Firebase, w tym o tym, jak obsługiwać wiele wariantów kompilacji.

  1. Przejdź do konsoli Firebase .

  2. 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.

  3. Wpisz identyfikator pakietu aplikacji w polu ID pakietu na iOS .

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

  5. Kliknij Zarejestruj aplikację .

Krok 4 : Dodaj plik konfiguracyjny Firebase

  1. Kliknij Pobierz GoogleService-Info.plist, aby uzyskać plik konfiguracyjny Firebase iOS.

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

  3. Jeśli pojawi się monit, wybierz, aby dodać plik konfiguracyjny do wszystkich celów.

Skonfigurowałeś zadania w konsoli Firebase. Kontynuuj dodawanie pakietów SDK Firebase C ++ poniżej.

Krok 5 : Dodaj pakiety SDK Firebase C ++

Kroki w tej sekcji to przykład dodawania obsługiwanych produktów Firebase do projektu Firebase C ++.

  1. Pobierz pakiet SDK Firebase C ++ , a następnie rozpakuj pakiet SDK w dogodnym miejscu.

    Pakiet Firebase C ++ SDK nie jest specyficzny dla platformy, ale zawiera biblioteki specyficzne dla platformy.

  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ć w swojej aplikacji.

      Analytics włączone

      # Add the Firebase pod for Google Analytics
      pod 'Firebase/Analytics'
      # 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 'Firebase/Auth' pod 'Firebase/Database'

      Analytics nie jest włączony

      # 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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. Zainstaluj pody, a następnie otwórz plik .xcworkspace w Xcode.

      pod install
      open your-app.xcworkspace

  3. Dodaj struktury Firebase z rozpakowanego pakietu SDK.

    Najłatwiejszym sposobem dodania tych struktur jest zwykle przeciągnięcie ich z okna Finder bezpośrednio do okienka Nawigatora projektu Xcode (domyślnie skrajnie lewe okienko; lub kliknięcie ikony pliku w lewym górnym rogu Xcode).

    1. Dodaj framework Firebase C ++ firebase.framework , który jest wymagany do korzystania z dowolnego produktu Firebase.

    2. Dodaj strukturę dla każdego produktu Firebase, którego chcesz używać. Na przykład, aby użyć uwierzytelniania Firebase, dodaj firebase_auth.framework .

  4. Wróć do konsoli Firebase, w przepływie pracy konfiguracji kliknij Dalej .

  5. Jeśli dodałeś Analytics, uruchom aplikację, aby wysłać weryfikację do Firebase, że udało Ci się zintegrować Firebase. W przeciwnym razie możesz pominąć ten krok weryfikacji.

    Dzienniki Twojego urządzenia będą wyświetlać weryfikację Firebase, że inicjalizacja została zakończona. Jeśli uruchomiłeś aplikację na emulatorze z dostępem do sieci, konsola Firebase powiadomi Cię, że połączenie z aplikacją 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 pakietu SDK typu open source na GitHub .

Dostępne biblioteki na iOS

Należy pamiętać, że biblioteki C ++ dla systemu Android są wymienione w wersji tej strony konfiguracji dla systemu Android .

Każdy produkt Firebase ma różne 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 'Firebase/AdMob', '6.32.2'
(wymagane) pod 'Firebase/Analytics', '6.32.2'
Analityka (wymagane) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '6.32.2'
Poświadczenie (wymagane) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '6.32.2'
Cloud Firestore (alfa) (wymagane) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '6.32.2'
pod 'Firebase/Auth', '6.32.2'
Funkcje chmury (wymagane) firebase.framework
firebase_functions.framework

pod 'Firebase/Functions', '6.32.2'
Komunikacja w chmurze (wymagane) firebase.framework
firebase_messaging.framework
(zalecane) firebase_analytics.framework

pod 'Firebase/Messaging', '6.32.2'
(zalecane) pod 'Firebase/Analytics', '6.32.2'
Magazyn w chmurze (wymagane) firebase.framework
firebase_storage.framework

pod 'Firebase/Storage', '6.32.2'
Dynamiczne linki (wymagane) firebase.framework
firebase_dynamic_links.framework
(zalecane) firebase_analytics.framework

pod 'Firebase/DynamicLinks', '6.32.2'
(zalecane) pod 'Firebase/Analytics', '6.32.2'
Baza danych czasu rzeczywistego (wymagane) firebase.framework
firebase_database.framework

pod 'Firebase/Database', '6.32.2'
Zdalna konfiguracja (wymagane) firebase.framework
firebase_remote_config.framework
(zalecane) firebase_analytics.framework

pod 'Firebase/RemoteConfig', '6.32.2'
(zalecane) pod 'Firebase/Analytics', '6.32.2'

Dodatkowe informacje dotyczące konfiguracji mobilnej

Swizzling metod

W systemie iOS niektóre zdarzenia aplikacji (takie jak otwieranie adresów URL i odbieranie powiadomień) wymagają, aby delegat aplikacji zaimplementował określone metody. Na przykład otrzymanie powiadomienia może wymagać, aby delegat application:didReceiveRemoteNotification: zaimplementował application:didReceiveRemoteNotification: Ponieważ każda aplikacja na iOS ma własnego delegata aplikacji, Firebase używa przełączania metod , które umożliwia zamianę jednej metody na inną w celu dołączenia własnych modułów obsługi oprócz tych, które mogły zostać zaimplementowane.

Biblioteki Dynamic Links i Cloud Messaging muszą dołączać programy obsługi do delegata aplikacji przy użyciu swizzling metod. Jeśli używasz któregokolwiek z tych produktów Firebase, podczas ładowania Firebase zidentyfikuje Twoją klasę AppDelegate i włączy do niej wymagane metody, łącząc wywołanie zwrotne z istniejącą implementacją metody.

Skonfiguruj przepływ pracy na komputerze ( beta )

Podczas tworzenia gry często łatwiej jest najpierw przetestować grę na platformach stacjonarnych, a następnie wdrożyć i przetestować na urządzeniach mobilnych w fazie rozwoju. Aby zapewnić obsługę tego przepływu pracy, udostępniamy podzbiór zestawów SDK Firebase C ++, które mogą działać w systemach Windows, macOS, Linux oraz w edytorze C ++.

  1. W przypadku przepływów pracy na komputerach stacjonarnych należy wykonać następujące czynności:

    1. Skonfiguruj projekt w C ++ dla CMake.
    2. Utwórz projekt Firebase
    3. Zarejestruj swoją aplikację (iOS lub Android) w Firebase
    4. Dodaj plik konfiguracyjny Firebase platformy mobilnej
  2. Utwórz komputerową wersję pliku konfiguracyjnego Firebase:

    • Jeśli dodałeś plik google-services.json na Androida - po uruchomieniu aplikacji Firebase lokalizuje ten plik mobilny , a następnie automatycznie generuje plik konfiguracyjny Firebase na komputer ( google-services-desktop.json ).

    • Jeśli dodano plik iOS GoogleService-Info.plist - przed uruchomieniem aplikacji musisz przekonwertować ten plik mobilny na plik konfiguracyjny Firebase na komputer . Aby przekonwertować plik, uruchom następujące polecenie z tego samego katalogu, w którym GoogleService-Info.plist plik GoogleService-Info.plist :

      generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist

    Ten plik konfiguracyjny dla komputerów stacjonarnych zawiera identyfikator projektu C ++, który został wprowadzony w przepływie pracy konfiguracji konsoli Firebase. Odwiedź artykuł Omówienie projektów Firebase, aby dowiedzieć się więcej o plikach konfiguracyjnych.

  3. Dodaj pakiety SDK Firebase do projektu w C ++.

    Poniższe kroki stanowią przykład dodawania obsługiwanego produktu Firebase do projektu C ++. W tym przykładzie przedstawiamy dodawanie uwierzytelniania Firebase i bazy danych czasu rzeczywistego Firebase.

    1. Ustaw FIREBASE_CPP_SDK_DIR środowiskową FIREBASE_CPP_SDK_DIR na lokalizację rozpakowanego pakietu SDK Firebase C ++.

    2. 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 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ę C ++.

Dostępne biblioteki (desktop)

Pakiet Firebase C ++ SDK obejmuje obsługę przepływu pracy na komputerach w ramach podzbioru funkcji, umożliwiając korzystanie z niektórych części Firebase w samodzielnych kompilacjach komputerów stacjonarnych w systemach Windows, macOS i Linux.

Produkt Firebase Odnośniki do bibliotek (przy użyciu CMake)
Poświadczenie firebase_auth
(wymagane) firebase_app
Cloud Firestore (alfa) 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 pulpitu jako implementacje pośredniczące (niefunkcjonalne) dla wygody podczas tworzenia dla systemów Windows, macOS i Linux. Dlatego nie musisz warunkowo kompilować kodu, aby był przeznaczony na pulpit.

Pulpit bazy danych czasu rzeczywistego

Zestaw SDK bazy danych czasu rzeczywistego dla komputerów stacjonarnych korzysta z REST, aby uzyskać dostęp 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 na komputerze

Biblioteki Windows

W przypadku systemu Windows wersje bibliotek są dostarczane na podstawie następujących elementów:

  • Platforma kompilacji: tryb 32-bitowy (x86) kontra tryb 64-bitowy (x64)
  • Środowisko wykonawcze systemu Windows: wielowątkowe / MT vs wielowątkowe DLL / MD
  • Cel: wydanie a debugowanie

Należy pamiętać, że następujące biblioteki zostały przetestowane przy użyciu programu Visual Studio 2015 i 2017.

Podczas tworzenia aplikacji klasycznych w języku C ++ w systemie Windows połącz ze swoim projektem następujące biblioteki Windows SDK. Więcej informacji znajdziesz w dokumentacji kompilatora.

Biblioteka Firebase C ++ Zależności biblioteki Windows SDK
Poświadczenie 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). Dla Twojej wygody zapewniono również ramy.

Zauważ, że biblioteki macOS zostały przetestowane przy użyciu Xcode 10.3.0.

Podczas tworzenia aplikacji klasycznych w języku C ++ na macOS, połącz następujące elementy ze swoim projektem:

  • Biblioteka systemowa pthread
  • Struktura systemu CoreFoundation macOS
  • Foundation struktura systemu macOS
  • Security struktury systemu macOS
  • Framework systemu GSS macOS
  • Framework systemu Kerberos macOS
  • Struktura systemu macOS SystemConfiguration systemu

Więcej informacji znajdziesz w dokumentacji kompilatora.

Biblioteki Linux

W przypadku systemu Linux dostępne są wersje bibliotek dla platform 32-bitowych (i386) i 64-bitowych (x86_64).

Zauważ, że biblioteki Linuksa zostały przetestowane przy użyciu GCC 4.8.0, GCC 7.2.0 i Clang 5.0 na Ubuntu.

Podczas tworzenia aplikacji pthread C ++ w systemie Linux połącz bibliotekę systemową pthread ze swoim projektem. Więcej informacji można znaleźć w dokumentacji kompilatora. Jeśli tworzysz z GCC 5 lub nowszym, zdefiniuj -D_GLIBCXX_USE_CXX11_ABI=0 .

Następne kroki