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.

Bizim de Firebase ile oyunlarınızı açılıyor ilgili daha fazla bilgi edinin Firebase oyun sayfasından .

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

Ö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.

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

Adım 2: Bir Firebase projesi oluşturma

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

3. Adım: Firebase ile uygulamanızı kaydedin

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

Ziyaret Firebase Projeleri anlama birden inşa varyantları nasıl işleneceğini dahil olmak üzere bir Firebase projeye uygulamalar ekleyerek daha iyi uygulamalar ve değerlendirmeler hakkında bilgi edinmek için.

  1. Git Firebase konsoluna .

  2. Proje genel bakış Sayfanın ortasında, iOS simgesine (tıklayın kurulum iş akışını başlatmak için).

    Zaten Firebase projeye bir uygulamayı eklediyseniz, platformu seçeneklerini görüntülemek için uygulama ekleme tıklayın.

  3. Kimliği alanına yumağı iOS uygulamanızın paket kimliği girin.

  4. Uygulama rumuz ve App Store ID: (İsteğe bağlı) diğer uygulama bilgilerini girin.

  5. Kayıt uygulamasını tıklayın.

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

  1. Senin Firebase iOS yapılandırma dosyasını edinmek için İndirme GoogleService-Info.plist'ni 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. Devam Firebase C ++ SDK'larını ekleyin aşağıda.

Adım 5: Firebase C ++ SDK'lerini ekle

Bu bölümdeki adımlar nasıl ekleneceği bir örnektir desteklenen Firebase ürünlerini sizin Firebase C ++ projeye.

  1. İndir Firebase C ++ SDK , ardından SDK yere uygun halletmek.

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

  2. Firebase ekle bölmeleri Çýkartýlan SDK.

    1. : Önceden yoksa bir Podfile oluştur

      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 yükleyin ve ardından açmak .xcworkspace Xcode dosyayı.

      pod install
      open your-app.xcworkspace

  3. Firebase ekle çerçeveler Çýkartýlan SDK.

    Bu çerçeveler eklemek için en kolay yolu onları sürüklemek için genellikle Finder (; sol üst Xcode dosya simgesini veya tıklayın varsayılan olarak, aşırı sol bölmede) Xcode Projesi Navigator bölmesinde doğrudan pencerenin.

    1. Firebase C ++ çerçeve ekle firebase.framework herhangi Firebase ürünü kullanmak için gereklidir.

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

  4. Geri 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. Ağ erişimi olan bir emülatör üzerinde uygulamanızı ran ise Firebase konsol uygulama bağlantısı tamamlandıktan bildirdiğinde o.

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

Kullanılabilir kitaplıklar

C ++ Firebase kütüphaneleri hakkında daha fazla bilgi referans belgeleri ve bizim açık kaynak SDK açıklamasında GitHub'dan .

iOS için kullanılabilir kitaplıklar

Android için C ++ kütüphaneleri dahil olması Not bu kurulum sayfasının Android sürümü .

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', '8.7.0'
(gerekli) pod 'Firebase/Analytics', '8.7.0'
Analitik (gerekli) firebase.framework
firebase_analytics.framework

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

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

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

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

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

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

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

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

pod 'Firebase/RemoteConfig', '8.7.0'
(önerilir) pod 'Firebase/Analytics', '8.7.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 aldıktan uygulamak için uygulama temsilci gerektirebilir application:didReceiveRemoteNotification: . Her iOS uygulama kendi uygulama temsilci olduğundan, Firebase an uygulamakta olabilecekleri ek olarak kendi işleyicileri eklemek için başka bir ile bir yöntemin değiştirilmesi, izin veren yöntem swizzling kullanır.

Dinamik Bağlantılar ve Bulut Mesajlaşma kitaplıklarının, yöntem değiştirmeyi kullanarak uygulama temsilcisine işleyiciler eklemesi gerekir. Eğer yük anda bu Firebase ürünlerden herhangi kullanıyorsanız, Firebase sizin belirleyecektir AppDelegate sınıfını ve mevcut yöntem uygulanması için bir çağrı geri zincirleme, bunun üzerine gerekli yöntemleri swizzle.

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

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, bir sağlamak Firebase C ++ SDK'larının alt kümesini Windows, MacOS, Linux ve C içinden ++ editörü yayınlanabilir.

  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 eklediyseniz google-services.json dosyasını - uygulamanızı çalıştırdığınızda, Firebase bu cep dosyayı bulur, sonra otomatik olarak bir masaüstü Firebase yapılandırma dosyası (üretir google-services-desktop.json ).

    • İOS eklediyseniz GoogleService-Info.plist dosyasını - uygulamanızı çalıştırmadan önce bir masaüstü Firebase yapılandırma dosyasına bu cep dosyayı dönüştürmek gerekir. Dosyayı dönüştürmek için, aynı dizinden aşağıdaki komutu çalıştırın GoogleService-Info.plist dosyasında:

      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. Ziyaret Firebase Projeler anlama yapılandırma dosyaları hakkında daha fazla bilgi edinmek için.

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

    Aşağıdaki adımlar herhangi eklemek için nasıl bir örnek teşkil desteklenen Firebase ürünü C ++ projeye. Bu örnekte, Firebase Authentication ve Firebase Realtime Database ekleyerek ilerliyoruz.

    1. Senin Set FIREBASE_CPP_SDK_DIR Unzipped Firebase C ++ SDK konuma ortam değişkeni.

    2. Projenizin için CMakeLists.txt dosyası da dahil olmak üzere, aşağıdaki içerik eklemek kütüphaneleri kullanmak istediğiniz o Firebase ürünleri için. Ö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 içerir masaüstü iş akışı desteği Windows, MacOS ve Linux üzerine inşa bağımsız masaüstüne kullanılmak üzere Firebase belirli bölümlerine sağlayan özellikleri bir alt kümesi için.

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ü

Eğer gerekir, böylece masaüstü için Gerçek Zamanlı Veri Tabanı SDK sizin veritabanına erişim DİNLENME kullanır endeksler beyan Birlikte kullandıkları Query::OrderByChild() masaüstünüzde veya dinleyici başarısız olacaktır.

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, bağlantı pthread projenize sistem kütüphanesi. Daha fazla bilgi için derleyici belgelerinize bakın. Daha sonra GCC 5 veya konum bina ise tanımlamak -D_GLIBCXX_USE_CXX11_ABI=0 .

Sonraki adımlar