Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Dodaj Firebase do swojego projektu C++

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

Dowiedzieć się więcej informacji na temat włączania zapasowych gier z Firebase na naszej stronie gry Firebase .

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

Warunki wstępne

  • Zainstaluj następujące elementy:

    • Xcode 12 lub nowszy
    • CocoaPods 1.10.0 lub nowszy
  • 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ę.

  • Zarejestruj się Firebase za pomocą konta Google.

Krok 2: Tworzenie projektu Firebase

Zanim dodasz Firebase do projektu C++, musisz utworzyć projekt Firebase, aby połączyć się z projektem C++. Wizyta Zrozum Firebase Projekty aby dowiedzieć się więcej o projektach Firebase.

Krok 3: Zarejestruj swoją aplikację z Firebase

Gdy masz już projekt Firebase, możesz dodać do niego swoją aplikację na iOS.

Wizyta Zrozum Firebase Projects , aby dowiedzieć się więcej na temat najlepszych praktyk i rozważań na dodawanie aplikacji do projektu Firebase, w tym jak obsługiwać wiele wariantów budowy.

  1. Przejdź do konsoli Firebase .

  2. W środku strony głównej projektu kliknij ikonę iOS ( ), aby uruchomić przepływ pracy instalacji.

    Jeśli już dodany aplikację do projektu Firebase, kliknij Dodaj aplikację, aby wyświetlić opcje platformy.

  3. Wpisz swój identyfikator pakietu aplikacji w iOS wiązek polu ID.

  4. (Opcjonalnie) Wprowadź inne informacje APL: App Store App nick i identyfikator.

  5. Kliknij Register 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.

Skończyłeś konfigurować zadania w konsoli Firebase. Nadal Dodaj SDK Firebase c ++ poniżej.

Krok 5: Dodaj SDK Firebase c ++

Kroki w tej sekcji są przykładem jak dodać obsługiwane produkty Firebase do projektu swojego Firebase C ++.

  1. Pobierz Firebase C ++ SDK , a następnie rozpakuj SDK gdzieś wygodne.

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

  2. Dodaj Firebase strąków z rozpakowanym SDK.

    1. Tworzenie Podfile jeśli nie masz jeszcze jedno:

      cd your-app-directory
      pod init

    2. 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 '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łą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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. Zainstalować strąków, następnie otworzyć .xcworkspace plik w Xcode.

      pod install
      open your-app.xcworkspace

  3. Dodaj Firebase ram z rozpakowanym SDK.

    Najprostszym sposobem na dodanie tych ram jest zazwyczaj przeciągnąć je z Finder okna bezpośrednio w okienku Nawigator projektu Xcode za daleko (w lewym okienku, domyślnie lub kliknij ikonę pliku w lewym górnym rogu z Xcode).

    1. Dodaj Firebase c ++ ramową firebase.framework , który jest wymagany do korzystania z produktu Firebase.

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

  4. Powrót w konsoli Firebase w obiegu instalacji, kliknij przycisk Dalej.

  5. 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 prowadził swoją aplikację na emulatorze, który ma dostęp do sieci, gdy Firebase konsola powiadamia użytkownika, że połączenie aplikacja jest kompletna.

Wszystko gotowe! Twoja aplikacja C++ jest zarejestrowana i skonfigurowana do korzystania z produktów Firebase.

Dostępne biblioteki

Więcej informacji na temat bibliotek C ++ Firebase w dokumentacji referencyjnej iw naszych open source SDK wydaniu na GitHub .

Dostępne biblioteki na iOS

Należy zauważyć, że biblioteki C ++ dla Androida są notowane na Android wersji tej strony konfiguracji .

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 'Firebase/AdMob', '8.7.0'
(wymagane) pod 'Firebase/Analytics', '8.7.0'
Analityka (wymagane) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '8.7.0'
Uwierzytelnianie (wymagane) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '8.7.0'
Chmura Firestore (beta) (wymagane) firebase.framework
firebase_firestore.framework
firebase_auth.framework

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

pod 'Firebase/Functions', '8.7.0'
Wiadomości w chmurze (wymagane) firebase.framework
firebase_messaging.framework
(zalecane) firebase_analytics.framework

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

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

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

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

pod 'Firebase/RemoteConfig', '8.7.0'
(zalecane) pod 'Firebase/Analytics', '8.7.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, przyjmując zgłoszenie może wymagać Twój delegata aplikacji do wdrożenia application:didReceiveRemoteNotification: . Ponieważ każda aplikacja iOS ma własną aplikację delegata, Firebase wykorzystuje metodę swizzling, który umożliwia zastąpienie jednej metody z innym, aby dołączyć własne koparki oprócz dowolnego które mogły zostać wdrożone.

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 będzie zidentyfikować AppDelegate klasę i swizzle wymaganych metod na to, łączenia się z powrotem wezwanie do istniejącego wdrożenia metody.

Skonfiguruj obieg pulpitu (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 wesprzeć ten przepływ pracy, zapewniamy podzbiór SDK Firebase c ++ , który można uruchomić w systemie Windows, MacOS, Linux i od wewnątrz C ++ edytora.

  1. W przypadku przepływów pracy na komputerze musisz wykonać następujące czynności:

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

    • Jeśli dodano Android google-services.json plik - Po uruchomieniu aplikacji, Firebase lokalizuje ten plik mobilnego, a następnie automatycznie generuje pulpitu Firebase plik konfiguracyjny ( google-services-desktop.json ).

    • Jeśli dodałeś iOS GoogleService-Info.plist plik - Przed uruchomieniem aplikacji, trzeba przekonwertować ten plik na pulpicie mobilnego Firebase pliku konfiguracyjnym. Aby przekonwertować plik, uruchom następujące polecenie z tym samym katalogu, co GoogleService-Info.plist pliku:

      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. Wizyta Zrozum Firebase Projekty aby dowiedzieć się więcej o plikach konfiguracyjnych.

  3. Dodaj pakiety SDK Firebase do projektu w języku C++.

    Poniższe kroki służą jako przykład, 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.

    1. Ustaw FIREBASE_CPP_SDK_DIR zmienną środowiskową do lokalizacji rozpakowanym Firebase C ++ SDK.

    2. Do projektu za CMakeLists.txt pliku dodaj następującą zawartość, w tym bibliotek dla produktów Firebase, które 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}")
      
  4. Uruchom aplikację w języku C++.

Dostępne biblioteki (komputer stacjonarny)

Firebase C ++ SDK zawiera pulpitu wsparcie przepływu pracy dla podzbioru cech, dzięki czemu pewne części Firebase być stosowane w autonomicznej opiera się na pulpicie Windows, MacOS i Linux.

Produkt Firebase Odniesienia do bibliotek (za pomocą CMake)
Uwierzytelnianie firebase_auth
(wymagane) firebase_app
Chmura Firestore (beta) 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

SDK bazy danych w czasie rzeczywistym na pulpicie używa REST, aby uzyskać dostęp do bazy danych, więc trzeba zadeklarować indeksy , które korzystają z Query::OrderByChild() na pulpicie lub twoi słuchacze nie powiedzie się.

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

Tworząc aplikacje klasyczne w języku C++ w systemie macOS, połącz następujące elementy z projektem:

  • pthread biblioteka systemowa
  • CoreFoundation ramy systemu MacOS
  • Foundation ramy systemu MacOS
  • Security ramy systemu MacOS
  • GSS ramy systemu MacOS
  • Kerberos ramy systemu MacOS
  • SystemConfiguration ramy 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 budowania c ++ aplikacji pulpitu w systemie Linux, połączyć pthread biblioteki systemowej do projektu. Więcej informacji znajdziesz w dokumentacji kompilatora. Jeśli budujesz z GCC 5 lub nowszym, definiować -D_GLIBCXX_USE_CXX11_ABI=0 .

Następne kroki