Firebase SDK'larının üzerinde bir C++ arayüzü sağlayan Firebase C++ SDK'larımızla C++ oyunlarınızı güçlendirin.
Firebase'e platformda yerel kod yazmanıza gerek kalmadan tamamen C++ kodunuzdan erişin. Firebase SDK ayrıca Firebase tarafından kullanılan birçok dile özgü deyimi C++ geliştiricilerinin daha aşina olduğu bir arayüze çevirir.
Firebase oyunları sayfamızdan 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 13.3.1 veya üzeri
- CocoaPod'lar 1.10.0 veya üzeri
Projenizin aşağıdaki veya sonraki platform sürümlerini 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.
Apple platformlarında Cloud Messaging için önkoşullar şunlardır:
- Fiziksel bir Apple cihazı kurun.
- Apple Geliştirici hesabınız için bir Apple Anında Bildirim Kimlik Doğrulama Anahtarı edinin.
- Uygulama > Yetenekler altında Xcode'da Anında Bildirimleri etkinleştirin.
Google hesabınızı kullanarak Firebase'de oturum açın .
2. Adım : Firebase projesi oluşturun
Firebase'i C++ projenize ekleyebilmeniz için önce C++ projenize bağlanacak 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
Firebase'i Apple uygulamanızda kullanmak için uygulamanızı Firebase projenize kaydetmeniz gerekir. Uygulamanızı kaydetmeye genellikle uygulamanızı projenize "eklemek" denir.
Firebase konsoluna gidin.
Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasındaki 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.
Paket kimliği alanına uygulamanızın paket kimliğini girin.
Paket kimliği, Apple'ın ekosistemindeki bir uygulamayı benzersiz şekilde tanımlar.
Paket kimliğinizi bulun: Projenizi Xcode'da açın, proje gezgininde üst düzey uygulamayı seçin ve ardından Genel sekmesini seçin.
Paket Tanımlayıcı alanının değeri paket kimliğidir (örneğin,
com.yourcompany.yourproject
).Paket kimliği değerinin büyük/küçük harfe duyarlı olduğunu ve Firebase projenize kaydedildikten sonra bu Firebase uygulaması için değiştirilemeyeceğini unutmayın.
(İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve App Store Kimliği .
Uygulama takma adı : Firebase konsolunda yalnızca sizin görebileceğiniz dahili, kullanışlı bir tanımlayıcı
App Store Kimliği : Firebase Dynamic Links tarafından kullanıcıları App Store sayfanıza yönlendirmek için ve Google Analytics tarafından dönüşüm etkinliklerini Google Ads'e aktarmak için kullanılır. Uygulamanızın henüz bir App Store Kimliği yoksa kimliği daha sonra Proje ayarlarınıza ekleyebilirsiniz.
Uygulamayı kaydet'i tıklayın.
4. Adım : Firebase yapılandırma dosyasını ekleyin
Firebase Apple platformları yapılandırma dosyanızı edinmek için GoogleService-Info.plist'i İndir'i tıklayın.
Firebase yapılandırma dosyası, projeniz için benzersiz ancak gizli olmayan tanımlayıcılar içerir. Bu yapılandırma dosyası hakkında daha fazla bilgi edinmek için Firebase Projelerini Anlayın sayfasını ziyaret edin.
Firebase yapılandırma dosyanızı istediğiniz zaman tekrar indirebilirsiniz.
Yapılandırma dosyası adına
(2)
gibi ek karakterler eklenmediğinden emin olun.
C++ projenizi bir IDE'de açın, ardından yapılandırma dosyanızı C++ projenizin köküne sürükleyin.
İstenirse yapılandırma dosyasını tüm hedeflere eklemeyi seçin.
Firebase konsolunda kurulum görevlerini tamamladınız. Aşağıdaki Firebase C++ SDK'larını eklemeye devam edin.
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.
Firebase C++ SDK'yı indirin ve ardından SDK'yı uygun bir yere açın.
Firebase C++ SDK'sı platforma özgü değildir ancak platforma özgü kitaplıklar içerir.
Sıkıştırılmış SDK'dan Firebase kapsülleri ekleyin.
Henüz bir Podfile'ınız yoksa bir Pod dosyası oluşturun:
cd your-app-directory
pod init
Uygulamanızda kullanmak istediğiniz Firebase bölmelerini Pod dosyanıza ekleyin.
Analiz 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'Analiz 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 'FirebaseAuth' pod 'FirebaseDatabase'
Bölmeleri yükleyin ve ardından
.xcworkspace
dosyasını Xcode'da açın.pod install
open your-app.xcworkspace
Sıkıştırılmış SDK'dan Firebase çerçevelerini ekleyin.
Bu çerçeveleri eklemenin en kolay yolu genellikle bunları
Finder
penceresinden doğrudan Xcode'un Proje Gezgini bölmesine (varsayılan olarak en soldaki bölme; veya Xcode'un sol üst köşesindeki dosya simgesine tıklamaktır) sürüklemektir.Herhangi bir Firebase ürününü kullanmak için gerekli olan Firebase C++ çerçevesini
firebase.framework
ekleyin.Kullanmak istediğiniz her Firebase ürünü için çerçeveyi ekleyin. Örneğin, Firebase Kimlik Doğrulamasını kullanmak için
firebase_auth.framework
ekleyin.
Firebase konsoluna geri döndüğünüzde, kurulum iş akışında İleri'yi tıklayın.
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ığını gösteren Firebase doğrulamasını gösterecektir. 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.
Hazırsınız! C++ uygulamanız Firebase ürünlerini kullanacak şekilde kaydedildi ve yapılandırıldı.
Mevcut kütüphaneler
Referans belgelerinde ve GitHub'daki açık kaynaklı SDK sürümümüzde C++ Firebase kitaplıkları hakkında daha fazla bilgi edinin.
Apple platformları için mevcut kütüphaneler
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. C++ ve Firebase hakkında daha fazla bilgi edinin bölümünde her kitaplık tarafından hangi platformların desteklendiğini kontrol edin.
Firebase ürünü | Çerçeveler ve Bölmeler |
---|---|
AdMob | (gerekli) firebase.framework firebase_admob.framework (gerekli) firebase_analytics.framework pod 'FirebaseAdMob', '10.15.0' (gerekli) pod 'FirebaseAnalytics', '10.15.0' |
Analitik | (gerekli) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.15.0' |
Uygulama Kontrolü | (gerekli) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.15.0' |
Kimlik doğrulama | (gerekli) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.15.0' |
Bulut Firestore | (gerekli) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.15.0' pod 'FirebaseAuth', '10.15.0' |
Bulut İşlevleri | (gerekli) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.15.0' |
Bulut Mesajlaşma | (gerekli) firebase.framework firebase_messaging.framework (önerilir) firebase_analytics.framework pod 'FirebaseMessaging', '10.15.0' (önerilen) pod 'FirebaseAnalytics', '10.15.0' |
Bulut depolama | (gerekli) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.15.0' |
Dinamik Bağlantılar | (gerekli) firebase.framework firebase_dynamic_links.framework (önerilir) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.15.0' (önerilen) pod 'FirebaseAnalytics', '10.15.0' |
Gerçek Zamanlı Veritabanı | (gerekli) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.15.0' |
Uzaktan Yapılandırma | (gerekli) firebase.framework firebase_remote_config.framework (önerilir) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.15.0' (önerilen) pod 'FirebaseAnalytics', '10.15.0' |
Mobil kurulum için ek bilgiler
Yöntem swizzling
iOS'ta bazı uygulama etkinlikleri (URL'lerin açılması ve bildirimlerin alınması gibi), uygulama temsilcinizin belirli yöntemleri uygulamasını gerektirir. Örneğin, bir bildirim almak, uygulama temsilcinizin application:didReceiveRemoteNotification:
uygulamasını gerektirebilir. Her iOS uygulamasının kendi uygulama temsilcisi olduğundan, Firebase, uyguladığınız yöntemlere ek olarak kendi işleyicilerini eklemek için bir yöntemin diğeriyle değiştirilmesine olanak tanıyan swizzling yöntemini kullanır.
Dinamik Bağlantılar ve Bulut Mesajlaşma kitaplıklarının, yöntem swizzling'i kullanarak uygulama temsilcisine işleyiciler eklemesi gerekir. Bu Firebase ürünlerinden herhangi birini kullanıyorsanız, yükleme sırasında Firebase, AppDelegate
sınıfınızı tanımlayacak ve gerekli yöntemleri bu sınıfa aktaracak ve mevcut yöntem uygulamanıza bir geri çağrıyı zincirleyecektir.
Masaüstü iş akışı ayarlama ( beta )
Bir oyun oluşturduğunuzda, oyununuzu önce masaüstü platformlarda test etmek, ardından geliştirme aşamasında mobil cihazlara dağıtmak ve test etmek genellikle çok daha kolaydır. Bu iş akışını desteklemek için Windows, macOS, Linux üzerinde ve C++ düzenleyicisinden çalışabilen Firebase C++ SDK'larının bir alt kümesini sağlıyoruz.
Masaüstü iş akışları için aşağıdakileri tamamlamanız gerekir:
- CMake için C++ projenizi yapılandırın.
- Firebase projesi oluşturma
- Uygulamanızı (iOS veya Android) Firebase'e kaydedin
- Mobil platform Firebase yapılandırma dosyası ekleyin
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ı bir masaüstü Firebase yapılandırma dosyasına dönüştürmeniz gerekir. Dosyayı dönüştürmek içinGoogleService-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 Anlayın sayfasını ziyaret edin.
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 örnek teşkil etmektedir. Bu örnekte Firebase Authentication ve Firebase Realtime Database ekleme adımlarını izleyeceğiz.
FIREBASE_CPP_SDK_DIR
ortam değişkeninizi sıkıştırılmış Firebase C++ SDK'nın konumuna ayarlayın.Projenizin
CMakeLists.txt
dosyasına, kullanmak istediğiniz Firebase ürünlerine ait kitaplıklar da 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}")
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'taki bağımsız masaüstü yapılarında kullanılmasına olanak tanır.
Firebase ürünü | Kitaplık referansları (CMake kullanılarak) |
---|---|
Uygulama Kontrolü | firebase_app_check (gerekli) firebase_app |
Kimlik doğrulama | firebase_auth (gerekli) firebase_app |
Bulut Firestore | 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 |
Uzaktan Yapılandırma | firebase_remote_config (gerekli) firebase_app |
Firebase, Windows, macOS ve Linux için derleme yaparken kolaylık sağlamak amacıyla kalan masaüstü kitaplıklarını saplama (işlevsiz) uygulamalar olarak sağlar. Bu nedenle, masaüstünü hedeflemek için kodu koşullu olarak derlemenize gerek yoktur.
Gerçek Zamanlı Veritabanı masaüstü
Masaüstü için Realtime Database SDK, 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 dayalı olarak sağlanır:
- Platform oluşturma: 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'ta C++ masaüstü uygulamaları oluştururken aşağıdaki Windows SDK kitaplıklarını projenize bağlayın. Daha fazla bilgi için derleyicinizin belgelerine bakın.
Firebase C++ Kitaplığı | Windows SDK kitaplığı bağımlılıkları |
---|---|
Uygulama Kontrolü | advapi32, ws2_32, crypt32 |
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 |
Uzaktan Yapılandırma | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
macOS kitaplıkları
MacOS (Darwin) için, 64 bit (x86_64) platformuna yönelik kitaplık sürümleri sağlanmıştı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'ta C++ masaüstü uygulamaları oluştururken aşağıdakileri projenize bağlayın:
-
pthread
sistem kütüphanesi -
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 derleyicinizin belgelerine bakın.
Linux kütüphaneleri
Linux için, 32 bit (i386) ve 64 bit (x86_64) platformlara yönelik 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 derleyicinizin belgelerine bakın. GCC 5 veya üzeri bir sürümle derleme yapıyorsanız -D_GLIBCXX_USE_CXX11_ABI=0
tanımlayın.
Sonraki adımlar
Örnek Firebase uygulamalarını keşfedin.
GitHub'daki açık kaynak SDK'yı keşfedin.
Uygulamanızı başlatmaya hazırlanın:
- Google Cloud Console'da projeniz için bütçe uyarıları ayarlayın.
- Projenizin birden fazla Firebase hizmetindeki kullanımının genel bir resmini elde etmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin.
- Firebase başlatma kontrol listesini inceleyin.