Firebase'i C++ projenize ekleyin

C++ sağlayan Firebase C++ SDK'larımızla C++ oyunlarınızı güçlendirin. en üst düzeye çıktı.

Firebase'e hiçbir şey yazmak zorunda kalmadan tamamen C++ kodunuzdan erişin platformda yerel kod. Firebase SDK'sı ayrıca dile özgü birçok dili, Firebase tarafından kullanılan deyimler, C++ geliştiricilerine daha tanıdık gelecektir.

Firebase ile oyunlarınızı güçlendirme hakkında daha fazla bilgi için Firebase oyunları sayfası.

Firebase'i C++ projenize zaten eklediniz mi? Şunu kullandığınızdan emin olun: Firebase C++ SDK'sının en son sürümü.


Ön koşullar

  • Aşağıdakileri yükleyin:

    • Xcode 13.3.1 veya sonraki sürümler
    • CocoaPods 1.12.0 veya sonraki sürümler
  • Projenizin aşağıdaki platform sürümlerini veya sonraki sürümleri hedeflediğinden emin olun:

    • iOS 13
    • tvOS 13
  • Uygulamanızı çalıştırmak için fiziksel bir cihaz kurun veya simülatörü kullanın.

  • Firebase'de oturum açın. Google hesabı.

2. Adım: Firebase projesi oluşturun

Firebase'i C++ projenize ekleyebilmek için öncelikle bir Firebase oluşturmanız gerekir projenize bağlayacağınızdan emin olun. Ziyaret edin: Şu konular hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlama: Firebase projeleri.

3. adım: Uygulamanızı Firebase'e kaydedin

Firebase'i Apple uygulamanızda kullanmak için uygulamanızı Firebase projesi. Uygulamanızı kaydetme işlemi genellikle "ekleme" olarak adlandırılır uygulamanızı belirler.

  1. Firebase konsoluna gidin.

  2. Projeye genel bakış sayfasının ortasındaki iOS+ simgesini tıklayın. kurulum iş akışını başlatın.

    Firebase projenize daha önce uygulama eklediyseniz Uygulama ekle'yi tıklayın tıklayın.

  3. Uygulamanızın paket kimliğini paket kimliği alanına girin.

    ziyaret edin.
  4. (İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve App Store kimliği.

  5. Uygulamayı kaydet'i tıklayın.

4. Adım: Firebase yapılandırma dosyasını ekleyin

  1. Firebase Apple'ınızı edinmek için GoogleService-Info.plist dosyasını indir'i tıklayın platform yapılandırma dosyası.

  2. C++ projenizi IDE'de açın, ardından yapılandırma dosyanızı kök klasöre sürükleyin C++ projenizin ayrılmaz bir parçasıdır.

  3. İstenirse yapılandırma dosyasını tüm hedeflere eklemeyi seçin.

Firebase konsolunda görevleri ayarlama işlemini tamamladınız. Şuna devam edin: Aşağıda Firebase C++ SDK'larını ekleyin.

5. Adım: Firebase C++ SDK'larını ekleyin

Bu bölümdeki adımlar, Firebase'inize desteklenen Firebase ürünlerini ekleyin. C++ projesi.

  1. Firebase C++ SDK'sını indirin, ardından SDK'yı uygun bir yerde sıkıştırılmış dosyayı açın.

    Firebase C++ SDK'sı platforma özel değildir ancak aşağıdakileri içerir: kullanabilirsiniz.

  2. Sıkıştırılmamış SDK'dan Firebase kapsüllerini ekleyin.

    1. Henüz yoksa bir Podfile oluşturun:

      cd your-app-directory
      .
      pod init

    2. Podfile dosyanıza, uygulamasını indirin.

      Analytics etkin

      # 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 etkinleştirilmedi

      # 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. Kapsülleri yükleyin, ardından .xcworkspace dosyasını Xcode'da açın.

      pod install
      open your-app.xcworkspace

  3. Açılmış dosyadan Firebase frameworks (çerçeveleri) ekleyin SDK'dır.

    Bu çerçeveleri eklemenin en kolay yolu genellikle bir Finder penceresini doğrudan Xcode'un Project Navigator bölmesine ( varsayılan olarak en soldaki bölmede veya Xcode'un sol üst tarafındaki dosya simgesini tıklayın).

    1. firebase.framework Firebase C++ çerçevesini ekleyin. herhangi bir Firebase ürününü kullanmanız gereklidir.

    2. Kullanmak istediğiniz her Firebase ürünü için çerçeve ekleyin. Örneğin, Örneğin, Firebase Authentication özelliğini kullanmak için firebase_auth.framework ekleyin.

    ziyaret edin.
  4. Firebase konsolunda, kurulum iş akışında İleri'yi tıklayın.

  5. Analytics eklentisini eklediyseniz Firebase'e doğrulama göndermek için uygulamanızı çalıştırın Firebase'i başarıyla entegre ettiğinizden emin olun. Aksi halde bu adımı atlayabilirsiniz. doğrulama adımını ele alalım.

    Cihaz günlüklerinizde, başlatma işleminin gerçekleştirildiği Firebase doğrulaması gösterilir tamamlandı. Uygulamanızı ağ erişimi olan bir emülatörde çalıştırdıysanız Firebase konsolunda, uygulama bağlantınızın tamamlandığı bildirilir.

Hepsi bu kadar. C++ uygulamanız Firebase'i kullanacak şekilde kaydedildi ve yapılandırıldı ürünler.

Kullanılabilen kitaplıklar

C++ Firebase kitaplıkları hakkında daha fazla bilgiyi şurada bulabilirsiniz: referans belgeleri ve açık kaynak SDK'mızda GitHub'da sürüm oluşturabilirsiniz.

Apple platformları için kullanılabilen kitaplıklar

Android için C++ kitaplıklarının bu Android sürümünde kurulum sayfasını ziyaret edin.

Her Firebase ürününün farklı bağımlılıkları vardır. Tüm istediğiniz Firebase ürününün bağımlılıklarını Podfile'ınıza listelemiş ve C++ projesi.

Her Firebase ürünü yalnızca belirli Apple OS platformlarını destekleyebilir (iOS, tvOS vb.). Her kitaplığın hangi platformları desteklediğini kontrol edin C++ ve Firebase hakkında daha fazla bilgi edinin.

Firebase ürünü Çerçeveler ve Kapsüller
AdMob (zorunlu) firebase.framework
firebase_admob.framework
(zorunlu) firebase_analytics.framework

pod 'FirebaseAdMob', '11.0.0'
(zorunlu) pod 'FirebaseAnalytics', '11.0.0'
Analytics (zorunlu) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '11.0.0'
App Check (zorunlu) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '11.0.0'
Authentication (zorunlu) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '11.0.0'
Cloud Firestore (zorunlu) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'FirebaseFirestore', '11.0.0'
pod 'FirebaseAuth', '11.0.0'
Cloud Functions (zorunlu) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '11.0.0'
Cloud Messaging (zorunlu) firebase.framework
firebase_messaging.framework
(önerilen) firebase_analytics.framework

pod 'FirebaseMessaging', '11.0.0'
(önerilen) pod 'FirebaseAnalytics', '11.0.0'
Cloud Storage (zorunlu) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '11.0.0'
Dynamic Links (zorunlu) firebase.framework
firebase_dynamic_links.framework
(önerilen) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '11.0.0'
(önerilen) pod 'FirebaseAnalytics', '11.0.0'
Realtime Database (zorunlu) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '11.0.0'
Remote Config (zorunlu) firebase.framework
firebase_remote_config.framework
(önerilen) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '11.0.0'
(önerilen) pod 'FirebaseAnalytics', '11.0.0'

Mobil cihaz kurulumu için ek bilgiler

Yöntem değiştirme

iOS'te, bazı uygulama etkinlikleri (URL'leri açma ve alma gibi) bildirimleri) uygulama yetkinizin belirli uygulamaları yöntemlerine göz atın. Örneğin, bildirim almak için başvurunuzun olması gerekebilir. application:didReceiveRemoteNotification: uygulamak için yetki verin. Çünkü Her iOS uygulamasının kendine ait bir uygulama temsilcisi vardır, Firebase ise yöntem kaydırma, bir yöntemin diğeriyle değiştirilmesine olanak tanır. işleyicisini eklemesi gerekir.

Dynamic Links ve Cloud Messaging kitaplıkları için gerekenler uygulama temsilcisine, kaydırma yöntemini kullanarak işleyici eklemek için kullanılır. Eğer Bu Firebase ürünlerinden herhangi birini kullanıyorsanız Firebase, yükleme sırasında AppDelegate sınıfınızı belirleyin ve gerekli yöntemleri buna göre karıştırın, mevcut yöntem uygulamanıza geri çağrı zincirlemesidir.

Masaüstü iş akışı oluşturma (beta)

Oyun geliştirirken oyununuzu masaüstünde test etmek genellikle çok daha kolaydır önce mobil cihazlarda dağıtıp test etmek, daha sonra geliştirme aşamasında bunları mobil cihazlara dağıtmak ve test etmektir. Alıcı: yardımcı oluyorum. şurada çalışabilen Firebase C++ SDK'sının alt kümesidir: Windows, macOS, Linux ve C++ düzenleyicisinden yararlanabilirsiniz.

  1. Masaüstü iş akışları için aşağıdakileri tamamlamanız gerekir:

    1. CMake için C++ projenizi yapılandırın.
    2. Firebase projesi oluşturma
    3. Uygulamanızı (iOS veya Android) Firebase'e kaydetme
    4. Mobil platform Firebase yapılandırma dosyası ekleme
  2. Firebase yapılandırma dosyasının masaüstü sürümünü oluşturun:

    • Android google-services.json dosyasını eklediyseniz: Firebase bu mobil dosyayı bulur ve daha sonra masaüstü Firebase yapılandırma dosyası oluşturur (google-services-desktop.json).

    • iOS GoogleService-Info.plist dosyasını eklediyseniz - Çalıştırmadan önce uygulamanız gerekiyorsa bu mobil dosyayı bir masaüstü Firebase'e dönüştürmeniz gerekir yapılandırma dosyası. Dosyayı dönüştürmek için aynı dizinini GoogleService-Info.plist dosyanız olarak kullanın:

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

    Bu masaüstü yapılandırma dosyası, girdiğiniz C++ proje kimliğini içerir Firebase konsolu kurulum iş akışını uygulayın. Ziyaret edin: Firebase Projelerini Anlama inceleyebilirsiniz.

  3. Firebase SDK'larını C++ projenize ekleyin.

    Aşağıdaki adımlar, destekleyen Firebase ürününü adımları uygulayın. Bu örnekte, Firebase Authentication ve Firebase Realtime Database.

    1. FIREBASE_CPP_SDK_DIR ortam değişkeninizi şu konuma ayarlayın: çıkartılmış Firebase C++ SDK'sı.

    2. Projenizin CMakeLists.txt dosyasına aşağıdaki içeriği ekleyin: Bu kitapla ilgili kitaplıklar da dahil olmak üzere Firebase ürünlerini seçin. Örneğin, Firebase Authentication ve 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}")
      
  4. C++ uygulamanızı çalıştırın.

Kullanılabilir kitaplıklar (masaüstü)

Firebase C++ SDK'sı masaüstü iş akışı desteği içeriyor kullanarak Firebase'in belirli kısımlarının kullanılabilmesini sağlar. .

Firebase ürünü Kitaplık referansları (CMake kullanarak)
App Check
firebase_app_check (gerekli) firebase_app
Authentication
firebase_auth (gerekli) firebase_app
Cloud Firestore firebase_firestore
firebase_auth
firebase_app
Cloud Functions
firebase_functions (gerekli) firebase_app
Cloud Storage
firebase_storage (gerekli) firebase_app
Realtime Database
firebase_database (gerekli) firebase_app
Remote Config
firebase_remote_config (gerekli) firebase_app

Firebase, kalan masaüstü kitaplıklarını taslak olarak sağlar (işlevsel değildir) uygulamaları geliştiriyoruz. Bu nedenle, masaüstünü hedeflemek için kodu koşullu olarak derlemeniz gerekmez.

Realtime Database masaüstü

Masaüstü için Realtime Database SDK'sı, veritabanınıza erişmek için REST kullandığından aşağıdaki kriterlere uyan endeksleri tanımlayın: Query::OrderByChild() ile kullanmayın. Aksi takdirde dinleyicileriniz başarısız olur.

Masaüstü kurulumu için ek bilgiler

Windows kitaplıkları

Windows için kitaplık sürümleri aşağıdakilere göre sağlanır:

  • Derleme platformu: 32 bit (x86) - 64 bit (x64) mod
  • Windows çalışma zamanı ortamı: Çok iş parçacıklı / MT - Çok iş parçacıklı DLL /MD
  • Hedef: Sürüm ve Hata Ayıklama

Aşağıdaki kitaplıkların Visual Studio 2015 ve 2017 kullanılarak test edildiğini unutmayın.

Windows'da C++ masaüstü uygulamaları oluştururken aşağıdaki Windows SDK'sını bağlayın kullanabilirsiniz. Daha fazla bilgi için derleyici dokümanlarınıza bakın. ekleyebilirsiniz.

Firebase C++ Kitaplığı Windows SDK kitaplığı bağımlılıkları
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

macOS kitaplıkları

MacOS (Darwin) için, 64 bit (x86_64) için kitaplık sürümleri sağlanır platformu. Size kolaylık sağlamak için çerçeveler de sunulur.

macOS kitaplıklarının Xcode kullanılarak test edildiğini unutmayın 13.3.1.

macOS'te C++ masaüstü uygulamaları oluştururken aşağıdakini projenize bağlayın:

  • pthread sistem kitaplığı
  • CoreFoundation macOS sistem çerçevesi
  • Foundation macOS sistem çerçevesi
  • Security macOS sistem çerçevesi
  • GSS macOS sistem çerçevesi
  • Kerberos macOS sistem çerçevesi
  • SystemConfiguration macOS sistem çerçevesi

Daha fazla bilgi için derleyici dokümanlarınıza bakın.

Linux kitaplıkları

Linux için 32 bit (i386) ve 64 bit (x86_64) için kitaplık sürümleri sağlanır. platformlar.

Linux kitaplıklarının GCC 4.8.0, GCC 7.2.0 ve Ubuntu'da Clang 5.0.

Linux'ta C++ masaüstü uygulamaları oluştururken pthread sistem kitaplığını şuraya bağlayın: akılda kalıcı bir yolunu sunar. Daha fazla bilgi için derleyici dokümanlarınıza bakın. Eğer GCC 5 veya sonraki bir sürümle derlerseniz -D_GLIBCXX_USE_CXX11_ABI=0 değerini tanımlayın.

Sonraki adımlar