Google 致力于为黑人社区推动种族平等。查看具体举措

Firebase'i C++ projenize ekleyin

iOS ve Android için Firebase'in üzerinde bir C++ arabirimi sağlayan Firebase C++ SDK'larımızla C++ oyunlarınızı güçlendirin.

Platforma özgü herhangi bir kod yazmak zorunda kalmadan Firebase'e tamamen C++ kodunuzdan erişin. Firebase SDK ayrıca Firebase tarafından kullanılan dile özgü birçok deyimi C++ geliştiricilerinin daha aşina olduğu bir arayüze çevirir.

Firebase oyunlar sayfamızda oyunlarınızı Firebase ile güçlendirme hakkında daha fazla bilgi edinin.

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

Önkoşullar

  • Aşağıdakileri yükleyin:

    • Xcode 12 veya üstü
    • CocoaPods 1.10.0 veya üzeri
  • Projenizin iOS 10 veya sonraki bir sürümünü hedeflediğinden emin olun.

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

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

2. Adım : Bir Firebase projesi oluşturun

Firebase'i C++ projenize eklemeden önce, C++ projenize bağlanmak için bir Firebase projesi oluşturmanız gerekir. Firebase projeleri hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın sayfasını ziyaret edin.

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

Bir Firebase projeniz olduktan sonra buna iOS uygulamanızı ekleyebilirsiniz.

Bir Firebase projesine uygulama eklemeye ilişkin en iyi uygulamalar ve düşünceler hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın sayfasını ziyaret edin.

  1. Firebase konsoluna gidin .

  2. Projeye genel bakış sayfasının , kurulum iş akışını başlatmak için iOS simgesine ( ) 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. iOS 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.

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

  1. Firebase iOS yapılandırma dosyanızı almak için GoogleService-Info.plist'i İndir'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 eklemek için seçin.

Firebase konsolunda kurulum görevlerini tamamladınız. Aşağıdaki Firebase C++ SDK'larını Eklemeye devam edin.

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

Bu bölümdeki adımlar, Firebase C++ projenize desteklenen Firebase ürünlerini nasıl ekleyeceğinize bir örnektir.

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

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

  2. Sıkıştırılmamış SDK'dan Firebase bölmeleri ekleyin.

    1. Henüz yoksa bir Pod dosyası oluşturun:

      cd your-app-directory
      pod init

    2. Pod dosyanıza, uygulamanızda kullanmak istediğiniz Firebase bölmelerini ekleyin.

      Analytics etkinleştirildi

      # 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 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 'Firebase/Auth'
      pod 'Firebase/Database'
    3. Bölmeleri kurun, ardından .xcworkspace dosyasını .xcworkspace 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 onları bir Finder penceresinden doğrudan Xcode'un Proje Gezgini bölmesine sürüklemektir (varsayılan olarak en soldaki bölme veya Xcode'un sol üst köşesindeki dosya simgesine tıklayın).

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

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

  4. 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ğ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ükleriniz, başlatmanın tamamlandığına dair Firebase doğrulamasını görüntüler. Uygulamanızı ağ erişimi olan bir öykünücüde çalıştırdıysanız, Firebase konsolu , uygulama bağlantınızın tamamlandığını size bildirir.

Hazırsınız! C++ uygulamanız kayıtlı ve Firebase ürünlerini kullanacak şekilde yapılandırılmıştır.

Kullanılabilir kitaplıklar

Başvuru belgelerinde ve GitHub'daki açık kaynaklı SDK sürümümüzde C++ Firebase kitaplıkları hakkında daha fazla bilgi edinin.

iOS 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. İstediğiniz Firebase ürünü için listelenen tüm bağımlılıkları Podfile ve C++ projenize eklediğinizden emin olun.

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

pod 'Firebase/AdMob', '7.11.0'
(gerekli) pod 'Firebase/Analytics', '7.11.0'
Analitik (gerekli) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '7.11.0'
kimlik doğrulama (gerekli) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '7.11.0'
Bulut Firestore (beta) (gerekli) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '7.11.0'
pod 'Firebase/Auth', '7.11.0'
Bulut İşlevleri (gerekli) firebase.framework
firebase_functions.framework

pod 'Firebase/Functions', '7.11.0'
Bulut Mesajlaşma (gerekli) firebase.framework
firebase_messaging.framework
(önerilir) firebase_analytics.framework

pod 'Firebase/Messaging', '7.11.0'
(önerilen) pod 'Firebase/Analytics', '7.11.0'
Bulut depolama (gerekli) firebase.framework
firebase_storage.framework

pod 'Firebase/Storage', '7.11.0'
Dinamik Bağlantılar (gerekli) firebase.framework
firebase_dynamic_links.framework
(önerilir) firebase_analytics.framework

pod 'Firebase/DynamicLinks', '7.11.0'
(önerilen) pod 'Firebase/Analytics', '7.11.0'
Gerçek Zamanlı Veritabanı (gerekli) firebase.framework
firebase_database.framework

pod 'Firebase/Database', '7.11.0'
Uzak Yapılandırma (gerekli) firebase.framework
firebase_remote_config.framework
(önerilir) firebase_analytics.framework

pod 'Firebase/RemoteConfig', '7.11.0'
(önerilen) pod 'Firebase/Analytics', '7.11.0'

Mobil kurulum için ek bilgiler

Yöntem swizzling

iOS'ta bazı uygulama olayları (URL'leri açma ve bildirim alma gibi), uygulama temsilcinizin belirli yöntemleri uygulamasını gerektirir. Örneğin, bir bildirim almak, uygulama temsilcinizin application:didReceiveRemoteNotification: uygulamasını application:didReceiveRemoteNotification: gerektirebilir. Her iOS uygulamasının kendi uygulama temsilcisi olduğundan, Firebase , uygulamış olabileceğiniz herhangi bir yönteme ek olarak kendi işleyicilerini eklemek için bir yöntemin diğeriyle değiştirilmesine olanak tanıyan yöntem swizzling kullanır.

Dynamic Links ve Cloud Messaging kitaplıklarının, yöntem swizzling kullanarak uygulama temsilcisine işleyiciler eklemesi gerekir. Bu Firebase ürünlerinden herhangi birini kullanıyorsanız, yükleme zamanında AppDelegate , AppDelegate sınıfınızı tanımlayacak ve gerekli yöntemleri bu sınıfa AppDelegate ve mevcut yöntem uygulamanıza bir çağrı zincirleyerek geri çağıracaktır.

Bir masaüstü iş akışı kurun ( beta )

Bir oyun oluştururken, oyununuzu önce masaüstü platformlarında test etmek, ardından geliştirme aşamasında mobil cihazlarda dağıtmak ve test etmek genellikle çok daha kolaydır. Bu iş akışını desteklemek için Windows, macOS, Linux ve C++ düzenleyicisinin içinden çalışabilen bir Firebase C++ SDK alt kümesi sağlıyoruz.

  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. Bir Firebase projesi oluşturun
    3. Uygulamanızı (iOS veya Android) Firebase'e kaydedin
    4. Bir mobil platform Firebase yapılandırma dosyası ekleyin
  2. Firebase yapılandırma dosyasının bir 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ı GoogleService-Info.plist — 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ı GoogleService-Info.plist 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 Anlayın sayfasını ziyaret edin.

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

    Aşağıdaki adımlar, desteklenen herhangi bir Firebase ürününün C++ projenize nasıl ekleneceğinin bir örneğidir. Bu örnekte, Firebase Authentication ve Firebase Realtime Database'i ekleyerek ilerliyoruz.

    1. FIREBASE_CPP_SDK_DIR ortam değişkeninizi FIREBASE_CPP_SDK_DIR C++ SDK'sının konumuna ayarlayın.

    2. Projenizin CMakeLists.txt dosyasına, kullanmak istediğiniz Firebase ürünleri için 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, bir dizi özellik için masaüstü iş akışı desteği içerir ve Firebase'in belirli bölümlerinin Windows, macOS ve Linux'ta bağımsız masaüstü yapılarında kullanılmasına olanak tanır.

Firebase ürünü Kitaplık referansları (CMake kullanarak)
kimlik doğrulama firebase_auth
(gerekli) firebase_app
Bulut Firestore (beta) firebase_firestore
firebase_auth
firebase_app
Bulut İşlevleri firebase_functions
(gerekli) firebase_app
Bulut depolama firebase_storage
(gerekli) firebase_app
Gerçek Zamanlı Veritabanı firebase_database
(gerekli) firebase_app
Uzak Yapılandırma firebase_remote_config
(gerekli) firebase_app

Firebase, Windows, macOS ve Linux için derlerken kolaylık sağlamak için kalan masaüstü kitaplıklarını saplama (işlevsel olmayan) uygulamalar olarak sağlar. Bu nedenle, masaüstünü hedeflemek için koşullu olarak kod derlemeniz gerekmez.

Gerçek Zamanlı Veritabanı masaüstü

Masaüstü için Realtime Database SDK, veritabanınıza erişmek için REST 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 dayalı olarak sağlanır:

  • Oluşturma platformu: 32 bit (x86) vs 64 bit (x64) modu
  • Windows çalışma zamanı ortamı: Multithreaded / MT vs Multithreaded DLL /MD
  • Hedef: Yayın 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 belgelerinize bakın.

Firebase C++ Kitaplığı Windows SDK kitaplığı bağımlılıkları
kimlik doğrulama advapi32, ws2_32, crypt32
Bulut Firestore advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
Bulut İşlevleri advapi32, ws2_32, crypt32, rpcrt4, ole32
Bulut depolama advapi32, ws2_32, crypt32
Gerçek Zamanlı Veritabanı advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
Uzak Yapılandırma advapi32, ws2_32, crypt32, rpcrt4, ole32

macOS kitaplıkları

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

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

macOS üzerinde 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 belgelerinize bakın.

Linux kitaplıkları

Linux için, 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 üzerinde 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 -D_GLIBCXX_USE_CXX11_ABI=0 , -D_GLIBCXX_USE_CXX11_ABI=0 tanımlayın.

Sonraki adımlar