Firebase'i C++ projenize ekleyin

Firebase SDK'larının üzerine C++ arayüzü sağlayan Firebase C++ SDK'larımızla C++ oyunlarınızı güçlendirin.

Platforma özgü kod yazmak zorunda kalmadan Firebase'e tamamen C++ kodunuzdan erişin. Firebase SDK'sı, Firebase tarafından kullanılan birçok dile özgü deyimi C++ geliştiricilerine daha aşina bir arayüze de çevirir.

Oyunlarınızı Firebase ile güçlendirme hakkında daha fazla bilgi edinmek için Firebase oyunlar sayfamızı ziyaret edin.

Firebase C++ SDK'sının hangi Firebase ürünlerini desteklediğini

Firebase'i C++ projenize zaten eklediyseniz Firebase C++ SDK'sının en yeni sürümünü kullandığınızdan emin olun.


Ö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ülasyon aracını kullanın.

  • Google Hesabınızı kullanarak Firebase'da oturum açın.

2. Adım: Firebase projesi oluşturun

Firebase'i C++ projenize eklemeden önce, C++ projenize bağlanacak bir Firebase projesi oluşturmanız gerekir. Firebase projeleri hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlama başlıklı makaleyi inceleyin.

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

Firebase'i Apple uygulamanızda kullanmak için uygulamanızı Firebase projenize kaydetmeniz gerekir. Uygulamanızı kaydetme işlemine genellikle uygulamanızı projenize "ekleme" denir.

  1. Firebase konsoluna gidin.

  2. Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasından iOS+ simgesini tıklayın.

    Firebase projenize daha önce bir uygulama eklediyseniz platform seçeneklerini görüntülemek için Uygulama ekle'yi tıklayın.

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

  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 platformları yapılandırma dosyanızı almak için GoogleService-Info.plist'i indir'i tıklayın.

  2. C++ projenizi bir IDE'de açın, ardından yapılandırma dosyanızı C++ projenizin kök dizinine sürükleyin.

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

Firebase konsolunda kurulum işlemlerini tamamladınız. Aşağıdaki Firebase C++ SDK'larını ekleme bölümüne geçin.

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

Bu bölümdeki adımlar, desteklenen Firebase ürünlerini Firebase C++ projenize ekleme örneğidir.

  1. Firebase C++ SDK'sını indirin, ardından SDK'yı uygun bir konumda arşivden çıkarın.

    Firebase C++ SDK'sı platforma özgü değildir ancak platforma özgü kitaplıklar içerir.

  2. Arşivden çıkarılan SDK'dan Firebase kapsülleri ekleyin.

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

      cd your-app-directory
      pod init

    2. Pod dosyanıza, uygulamanızda kullanmak istediğiniz Firebase kapsüllerini ekleyin.

      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 etkin değil

      # 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 Xcode'da .xcworkspace dosyasını açın.

      pod install
      open your-app.xcworkspace

  3. Sıkıştırılmış SDK'dan Firebase çerçevelerini ekleyin.

    Bu çerçeveleri eklemenin en kolay yolu genellikle bunları bir Finder penceresinden doğrudan Xcode'un Proje Gezgini bölmesine (varsayılan olarak soldaki en uçtaki bölme) sürüklemektir. Alternatif olarak Xcode'un sol üst kısmındaki dosya simgesini tıklayabilirsiniz.

    1. Firebase C++ çerçevesini firebase.framework ekleyin. Bu çerçeve, Firebase ürünlerini kullanmak için gereklidir.

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

  4. Firebase konsolunda, kurulum iş akışında Sonraki'yi tıklayın.

  5. Analytics eklediyseniz Firebase'i başarıyla entegre ettiğinize dair doğrulamayı Firebase'e göndermek için uygulamanızı çalıştırın. Aksi takdirde bu doğrulama adımını atlayabilirsiniz.

    Cihaz günlüklerinizde, ilklendirmenin tamamlandığını belirten Firebase doğrulaması gösterilir. Uygulamanızı ağ erişimi olan bir emülatörde çalıştırdıysanız Firebase konsolu, uygulama bağlantınızın tamamlandığını bildirir.

Artık hazırsınız. C++ uygulamanız, Firebase ürünlerini kullanacak şekilde kayıtlı ve yapılandırılmış olmalıdır.

Kullanılabilen kitaplıklar

C++ Firebase kitaplıkları hakkında daha fazla bilgiyi referans dokümanlarından ve GitHub'daki açık kaynak SDK sürümümüzden edinebilirsiniz.

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

Android için C++ kitaplıklarının bu kurulum sayfasının Android sürümünde listelendiğini unutmayın.

Her Firebase ürününün farklı bağımlılıkları vardır. İstediğiniz Firebase ürünü için listelenen tüm bağımlılıkları Pod dosyanıza ve C++ projenize eklediğinizden emin olun.

Her Firebase ürünü yalnızca belirli Apple işletim sistemi platformlarını (iOS, tvOS vb.) destekleyebilir. C++ ve Firebase hakkında daha fazla bilgi başlıklı makalede, her kitaplığın hangi platformları desteklediğini kontrol edin.

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

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

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

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

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

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

pod 'FirebaseFunctions', '11.4.2'
Cloud Messaging (zorunludur) firebase.framework
firebase_messaging.framework
(önerilir) firebase_analytics.framework

pod 'FirebaseMessaging', '11.4.2'
(önerilir) pod 'FirebaseAnalytics', '11.4.2'
Cloud Storage (zorunlu) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '11.4.2'
Dynamic Links (zorunludur) firebase.framework
firebase_dynamic_links.framework
(önerilir) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '11.4.2'
(önerilir) pod 'FirebaseAnalytics', '11.4.2'
Realtime Database (zorunlu) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '11.4.2'
Remote Config (zorunludur) firebase.framework
firebase_remote_config.framework
(önerilir) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '11.4.2'
(önerilir) pod 'FirebaseAnalytics', '11.4.2'

Mobil kurulum için ek bilgiler

Yöntem dönüşümü

iOS'te bazı uygulama etkinlikleri (URL açma ve bildirim alma gibi) uygulama temsilcinizin belirli yöntemleri uygulamasını gerektirir. Örneğin, bildirim almak için uygulama temsilcinizin application:didReceiveRemoteNotification:'ü uygulaması gerekebilir. Her iOS uygulamasının kendi uygulama temsilcisi olduğundan Firebase, uygulamış olabileceğiniz yöntemlerin yanı sıra kendi işleyicilerini eklemek için yöntem değiştirme işlemini kullanır. Bu işlem, bir yöntemin başka bir yöntemle değiştirilmesine olanak tanır.

Dynamic Links ve Cloud Messaging kitaplıklarının, yöntem karıştırma işlemini kullanarak işleyicileri uygulama temsilcisine eklemesi gerekir. Bu Firebase ürünlerinden herhangi birini kullanıyorsanız Firebase, yükleme sırasında AppDelegate sınıfınızı tanımlar ve gerekli yöntemleri sınıfa aktarır. Bu işlem sırasında mevcut yöntem uygulamanıza geri çağırma zinciri eklenir.

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

Oyun oluştururken genellikle oyununuzu önce masaüstü platformlarda test etmek, ardından geliştirmenin ilerleyen aşamalarında mobil cihazlarda dağıtıp test etmek çok daha kolaydır. Bu iş akışını desteklemek için Windows, macOS, Linux ve C++ düzenleyicisinde çalışabilen Firebase C++ SDK'larının bir alt kümesini sunuyoruz.

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

    1. C++ projenizi CMake için 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: Uygulamanızı çalıştırdığınızda Firebase bu mobil dosyayı bulur ve ardından otomatik olarak bir masaüstü Firebase yapılandırma dosyası (google-services-desktop.json) oluşturur.

    • iOS GoogleService-Info.plist dosyasını eklediyseniz: Uygulamanızı çalıştırmadan önce bu mobil dosyayı masaüstü Firebase yapılandırma dosyasına dönüştürmeniz gerekir. Dosyayı dönüştürmek için GoogleService-Info.plist dosyanızla aynı dizinden aşağıdaki komutu çalıştırın:

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

    Bu masaüstü yapılandırma dosyası, Firebase konsol kurulum iş akışına girdiğiniz C++ proje kimliğini içerir. Yapılandırma dosyaları hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlama başlıklı makaleyi inceleyin.

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

    Aşağıdaki adımlar, desteklenen Firebase ürünlerinin C++ projenize nasıl ekleneceğine dair bir örnektir. Bu örnekte, Firebase Authentication ve Firebase Realtime Database ekleme işlemini adım adım açıklıyoruz.

    1. FIREBASE_CPP_SDK_DIR ortam değişkeninizi, sıkıştırılmış Firebase C++ SDK'sının konumuna ayarlayın.

    2. Projenizin CMakeLists.txt dosyasına, kullanmak istediğiniz Firebase ürünlerinin kitaplıkları da dahil olmak üzere aşağıdaki içeriği ekleyin. Örneğin, Firebase Authentication ve Firebase Realtime Database'ü kullanmak için:

      # 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 kütüphaneler (masaüstü)

Firebase C++ SDK'sı, bir özellik alt kümesi için masaüstü iş akışı desteği içerir. Bu sayede Firebase'in belirli bölümleri Windows, macOS ve Linux'ta bağımsız masaüstü derlemelerinde kullanılabilir.

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

Firebase, Windows, macOS ve Linux için derleme yaparken kolaylık sağlamak amacıyla kalan masaüstü kitaplıklarını stub (işlevsel olmayan) uygulamalar olarak sağlar. Bu nedenle, masaüstü sürümü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'i kullanır. Bu nedenle, masaüstünde Query::OrderByChild() ile kullandığınız dizinleri belirtmeniz gerekir. 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) ve 64 bit (x64) modu
  • Windows çalışma zamanı ortamı: Çok iş parçacıklı / MT ve çok iş parçacıklı DLL /MD karşılaştırması
  • Hedef: Yayınlama ve hata ayıklama

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

Windows'ta C++ masaüstü uygulamaları oluştururken aşağıdaki Windows SDK kitaplıklarını projenize bağlayın. Daha fazla bilgi için derleyici dokümanlarınızı inceleyin.

Firebase C++ Kitaplığı Windows SDK kitaplık 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 kütüphaneleri

macOS (Darwin) için kitaplık sürümleri 64 bit (x86_64) platform için sağlanır. Size kolaylık sağlamak için çerçeveler de sağlanmıştır.

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

macOS'te C++ masaüstü uygulamaları oluştururken aşağıdakileri 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ızı inceleyin.

Linux kitaplıkları

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

Linux kitaplıklarının Ubuntu'da GCC 4.8.0, GCC 7.2.0 ve Clang 5.0 kullanılarak test edildiğini unutmayın.

Linux'da C++ masaüstü uygulamaları oluştururken pthread sistem kitaplığını projenize bağlayın. Daha fazla bilgi için derleyici dokümanlarınızı inceleyin. GCC 5 veya sonraki bir sürümle derliyorsanız -D_GLIBCXX_USE_CXX11_ABI=0 değerini tanımlayın.

Sonraki adımlar