Firebase'i C++ projenize ekleyin

Firebase SDK'larının üzerinde bir 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 dile özgü birçok deyimi C++ geliştiricilerinin daha aşina olduğu bir arayüze de çevirir.

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

Firebase'i C++ projenize zaten eklediniz mi? 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 26.2 veya sonraki sürümler
  • Projenizin aşağıdaki platform sürümlerini veya daha yeni sürümleri hedeflediğinden emin olun:

    • iOS 15
    • tvOS 15
  • 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

C++ projenize Firebase ekleyebilmek için 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 kaydetme

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

  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 zaten 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 uygulama mağazası 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 dosyasını 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 konsolundaki kurulum görevlerini 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 nasıl ekleyeceğinizi gösteren bir örnektir.

  1. Firebase C++ SDK'sını indirin ve uygun bir yere açın.

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

  2. Firebase Apple platformları SDK'sı bağımlılıklarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.

    1. Xcode'da uygulama projeniz açıkken File > Add Package Dependencies'e (Dosya > Paket Bağımlılıkları Ekle) gidin.

    2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:

      https://github.com/firebase/firebase-ios-sdk.git

    3. Bağımlılık kuralı için Tam Sürüm'ü seçin ve 13.1.1 değerini girin.

    4. Uygulamanızda kullanmak istediğiniz Firebase kitaplıklarını seçin (ör. FirebaseAuth ve FirebaseDatabase). Firebase projenizde Google Analytics etkinleştirilmişse FirebaseAnalytics eklediğinizden emin olun.

    İşlem tamamlandığında Xcode, arka planda bağımlılıklarınızı otomatik olarak çözmeye ve indirmeye başlar.

  3. Sıkıştırılmış dosyadan çıkarılan SDK'nın xcframeworks dizininden Firebase XCFrameworks'ü ekleyin.

    Bu XCFramework'leri eklemenin en kolay yolu genellikle bir Finder penceresinden doğrudan Xcode'un Project Navigator (Proje Gezgini) bölmesine (varsayılan olarak en soldaki bölme veya Xcode'un sol üst kısmındaki dosya simgesini tıklayın) sürükleyip uygulamanızın derleme hedefine eklemektir.

    1. Herhangi bir Firebase ürününü kullanmak için gerekli olan Firebase C++ XCFramework'ü firebase.xcframework ekleyin.

    2. Kullanmak istediğiniz her Firebase ürünü için XCFramework'ü ekleyin. Örneğin, Firebase Authentication için firebase_auth.xcframework ekleyin.

  4. Firebase konsoluna geri dönün ve kurulum iş akışında Next'i (İleri) 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, başlatma işleminin 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ı bildirir.

Hazırsınız. C++ uygulamanız Firebase ürünlerini kullanacak şekilde kaydedilmiş ve yapılandırılmış olmalıdır.

Kullanılabilen kitaplıklar

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

Apple platformları için kullanılabilir 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. Seçilen Firebase ürünü için listelenen tüm bağımlılıkları Swift Package Manager'ı kullanarak ve C++ projenize eklediğinizden emin olun.

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

Firebase ürünü XCFrameworks ve Swift Package Manager kitaplıkları
Analytics (zorunlu) firebase.xcframework
firebase_analytics.xcframework

FirebaseAnalytics (13.1.1)
App Check (zorunlu) firebase.xcframework
firebase_app_check.xcframework

FirebaseAppCheck (13.1.1)
Authentication (zorunlu) firebase.xcframework
firebase_auth.xcframework

FirebaseAuth (13.1.1)
Cloud Firestore (gerekli) firebase.xcframework
firebase_firestore.xcframework
firebase_auth.xcframework

FirebaseFirestore (13.1.1)
FirebaseAuth (13.1.1)
Cloud Functions (zorunlu) firebase.xcframework
firebase_functions.xcframework

FirebaseFunctions (13.1.1)
Cloud Messaging (gerekli) firebase.xcframework
firebase_messaging.xcframework
(önerilen) firebase_analytics.xcframework

FirebaseMessaging (13.1.1)
(önerilen) FirebaseAnalytics (13.1.1)
Cloud Storage (zorunlu) firebase.xcframework
firebase_storage.xcframework

FirebaseStorage (13.1.1)
Realtime Database (zorunlu) firebase.xcframework
firebase_database.xcframework

FirebaseDatabase (13.1.1)
Remote Config (gerekli) firebase.xcframework
firebase_remote_config.xcframework
(önerilen) firebase_analytics.xcframework

FirebaseRemoteConfig (13.1.1)
(önerilen) FirebaseAnalytics (13.1.1)
DESTEKLENMEYEN VEYA KULLANIMDAN KALDIRILMIŞ KİTAPLIKLAR
Dynamic Links (gerekli) firebase.xcframework
firebase_dynamic_links.xcframework
(önerilen) firebase_analytics.xcframework

FirebaseDynamicLinks (13.1.1)
(önerilen) FirebaseAnalytics (13.1.1)

Mobil kurulumla ilgili ek bilgiler

Swift Package Manager kullanmadan entegre etme

Temel Firebase Apple platformları SDK bağımlılıklarını yönetmek için Swift Package Manager'ı kullanmak istemiyorsanız alternatif entegrasyon seçenekleri için Apple platformları kurulum kılavuzundaki Swift Package Manager'ı kullanmadan entegre etme bölümüne bakın.

Yöntem dönüşümü

iOS'te, bazı uygulama etkinlikleri (URL'leri açma ve bildirim alma gibi) için uygulama temsilcinizin belirli yöntemleri uygulaması gerekir. Örneğin, bildirim almak için uygulama temsilcinizin application:didReceiveRemoteNotification: yöntemini uygulaması gerekebilir. Her iOS uygulamasının kendi uygulama temsilcisi olduğundan Firebase, kendi işleyicilerini sizin uyguladığınız işleyicilere eklemek için bir yöntemin diğeriyle değiştirilmesine olanak tanıyan yöntem dönüşümü özelliğini kullanır.

Dynamic Links ve Cloud Messaging kitaplıklarının, yöntem dönüşümü kullanarak uygulama temsilcisine işleyiciler 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 bu sınıfa ekleyerek mevcut yöntem uygulamanıza bir geri çağırma zinciri oluşturur.

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

Oyun oluştururken genellikle oyununuzu önce masaüstü platformlarda test etmek, ardından geliştirme sürecinin 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ıştırılabilen 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 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 dosyasını 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 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. C++ projenize Firebase SDK'ları ekleyin.

    Aşağıdaki adımlarda, desteklenen Firebase ürünlerinden herhangi birinin C++ projenize nasıl ekleneceği örnek olarak gösterilmektedir. Bu örnekte, Firebase Authentication ve Firebase Realtime Database ekleme adımlarını inceleyeceğiz.

    1. FIREBASE_CPP_SDK_DIR ortam değişkeninizi, sıkıştırılmış dosyası açı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 kitaplıklar (masaüstü)

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

Firebase ürünü Kitaplık referansları (CMake kullanarak)
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ü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 bildirmeniz 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
  • 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 belgelerinize bakın.

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 kitaplık sürümleri 64 bit (x86_64) platformu 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 26.2 kullanılarak test edildiğini unutmayın.

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

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'ta C++ masaüstü uygulamaları oluştururken pthread sistem kitaplığını projenize bağlayın. Daha fazla bilgi için derleyici belgelerinize bakın. GCC 5 veya sonraki bir sürümle derleme yapıyorsanız -D_GLIBCXX_USE_CXX11_ABI=0 değerini tanımlayın.

Sonraki adımlar