Firebase'i C++ projenize ekleyin

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

Platformda yerel kod yazmak zorunda kalmadan Firebase'e tamamen C++ kodunuzdan erişin. Firebase SDK'sı ayrıca Firebase tarafından kullanılan dile özgü birçok deyimi, C++ geliştiricilerine daha aşina olan bir arayüze dönüştürür.

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

Firebase'i C++ projenize zaten eklediniz mi? Firebase C++ SDK'sının en son 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 11
    • tvOS 12
  • Uygulamanızı çalıştırmak için fiziksel bir cihaz kurun veya simülatörü kullanın.

  • Google Hesabınızı kullanarak Firebase'de 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 sayfasını ziyaret edin.

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ındaki iOS+ simgesini tıklayın.

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

  3. Uygulamanızın paket kimliğini paket kimliği alanına 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 platforms yapılandırma dosyanızı almak için GoogleService-Info.plist dosyasını indir'i tıklayın.

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

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

Firebase konsolunda görevleri ayarlama işlemini tamamladınız. Aşağıdaki Firebase C++ SDK'ları 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 nasıl ekleyeceğinize dair bir örnektir.

  1. Firebase C++ SDK'yı indirin, ardından SDK'yı uygun bir yerde açın.

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

  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. Uygulamanızda kullanmak istediğiniz Firebase kapsüllerini Podfile'ınıza 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 .xcworkspace dosyasını Xcode'da açın.

      pod install
      open your-app.xcworkspace

  3. Sıkıştırılmamış SDK'dan Firebase çerçeveleri ekleyin.

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

    1. Herhangi bir Firebase ürününü kullanmak için gerekli olan Firebase C++ çerçevesini firebase.framework ekleyin.

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

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

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

    Cihaz günlüklerinizde başlatmanın tamamlandığına dair 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ı size bildirir.

Hepsi bu kadar. C++ uygulamanız Firebase ürünlerini kullanacak şekilde kaydedilmiş ve yapılandırılmıştır.

Kullanılabilen kitaplıklar

Referans belgelerinden ve GitHub'daki açık kaynak SDK sürümümüzden C++ Firebase kitaplıkları hakkında daha fazla bilgi 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ı Podfile ve C++ projenize eklediğinizden emin olun.

Her Firebase ürünü yalnızca belirli Apple OS platformlarını (iOS, tvOS vb.) destekleyebilir. Her kitaplığın hangi platformları desteklediğini kontrol etmek için 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', '10.28.1'
(zorunlu) pod 'FirebaseAnalytics', '10.28.1'
Analizler (zorunlu) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '10.28.1'
Uygulama Kontrolü (zorunlu) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '10.28.1'
Kimlik Doğrulama (zorunlu) firebase.framework
firebase_auth.framework

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

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

pod 'FirebaseFunctions', '10.28.1'
Bulut Mesajlaşma (gerekli) firebase.framework
firebase_messaging.framework
(önerilen) firebase_analytics.framework

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

pod 'FirebaseStorage', '10.28.1'
Dinamik Bağlantılar (gerekli) firebase.framework
firebase_dynamic_links.framework
(önerilen) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '10.28.1'
(önerilen) pod 'FirebaseAnalytics', '10.28.1'
Gerçek Zamanlı Veritabanı (zorunlu) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '10.28.1'
Remote Config (gerekli) firebase.framework
firebase_remote_config.framework
(önerilen) firebase_analytics.framework

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

Mobil cihaz kurulumu için ek bilgiler

Yöntem değiştirme

iOS'te, bazı uygulama etkinlikleri (URL'leri açma ve bildirim alma gibi) uygulama temsilcinizin belirli yöntemleri uygulaması için gereklidir. Örneğin, bir bildirim aldığınızda, uygulama temsilcinizin application:didReceiveRemoteNotification: uygulamasını uygulaması gerekebilir. Her iOS uygulamasının kendi uygulama yetkilendirmesi olduğundan Firebase, yöntem kaydırmayı kullanır. Bu özellik, uygulamış olabileceğiniz yöntemlere ek olarak kendi işleyicilerini de eklemek için bir yöntemin diğeriyle değiştirilmesine olanak tanır.

Dynamic Links ve Cloud Messaging kitaplıklarının, yöntem kaydırma yöntemini kullanarak uygulama temsilcisine işleyici eklemesi gerekir. Bu Firebase ürünlerinden herhangi birini kullanıyorsanız Firebase, yükleme sırasında AppDelegate sınıfınızı belirler ve gerekli yöntemleri ona karıştırarak mevcut yöntem uygulamanıza bir çağrı zinciri oluşturur.

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

Bir oyun oluştururken, oyununuzu önce masaüstü platformlarında test etmek, ardından geliştirme aşamasındaki mobil cihazlara dağıtmak ve test etmek genellikle ç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 alt kümesini sağlıyoruz.

  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 - Uygulamanızı çalıştırdığınızda Firebase bu mobil dosyayı bulup 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ı bir 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ı dizinde 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 konsolu 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 sayfasını ziyaret edin.

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

    Aşağıdaki adımlar, desteklenen herhangi bir Firebase ürününü C++ projenize nasıl ekleyeceğinize dair örnek teşkil eder. Bu örnekte, Firebase Authentication ve Firebase Realtime Database'i eklemeyi 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ı dahil olmak üzere aşağıdaki içeriği ekleyin. Örneğin, Firebase Authentication ve Firebase Realtime Database'i 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 kitaplıklar (masaüstü)

Firebase C++ SDK'sı bir dizi özellik için masaüstü iş akışı desteği sunar. Böylece Firebase'in belirli bölümlerinin Windows, macOS ve Linux'taki bağımsız masaüstü derlemelerinde kullanılabilmesini sağlar.

Firebase ürünü Kitaplık referansları (CMake kullanarak)
Uygulama Kontrolü firebase_app_check
(zorunlu) firebase_app
Kimlik Doğrulama 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
Gerçek Zamanlı Veritabanı firebase_database
(zorunlu) firebase_app
Remote Config firebase_remote_config
(zorunlu) firebase_app

Firebase; Windows, macOS ve Linux için geliştirme yaparken kalan masaüstü kitaplıklarını taslak (çalışmayan) uygulamalar olarak sağlar. 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 masaüstünde Query::OrderByChild() ile kullandığınız dizinleri beyan etmeniz 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) - 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 kitaplıklarını projenize bağlayın. Daha fazla bilgi için derleyici dokümanlarınıza bakın.

Firebase C++ Kitaplığı Windows SDK kitaplığı bağımlılıkları
Uygulama Kontrolü advapi32, ws2_32, crypt32
Doğrulama 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)'de, kitaplık sürümleri 64 bit (x86_64) platforma göre sağlanır. Size kolaylık sağlamak için çerçeveler de sunulur.

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ğı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'ta, 32 bit (i386) ve 64 bit (x86_64) platformlar için kitaplık sürümleri 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'ta C++ masaüstü uygulamaları oluştururken pthread sistem kitaplığını projenize bağlayın. Daha fazla bilgi için derleyici dokümanlarınıza bakın. GCC 5 veya sonraki bir sürümle derliyorsanız -D_GLIBCXX_USE_CXX11_ABI=0 öğesini tanımlayın.

Sonraki adımlar