Firebase SDK'larının üzerinde C++ arayüzü sağlayan Firebase C++ SDK'larımızla C++ oyunlarınıza güç katın.
Platforma özgü kod yazmanıza gerek kalmadan Firebase'e tamamen C++ kodunuzdan erişin. Firebase SDK, Firebase tarafından kullanılan dile özgü birçok deyimi de C++ geliştiricilerinin daha aşina olduğu bir arayüze çevirir.
Oyunlarınıza Firebase ile güç katma hakkında daha fazla bilgi edinmek için Firebase oyunları sayfamızı ziyaret edin.
Firebase'i C++ projenize 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 16.2 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 13
- tvOS 13
Fiziksel bir cihaz kurun veya uygulamanızı çalıştırmak için simülasyon aracını kullanın.
Google Hesabınızı kullanarak Firebase'de oturum açın.
2. adım: Firebase projesi oluşturun
Firebase'i C++ projenize ekleyebilmeniz 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 başlıklı makaleyi inceleyin.
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şlemi genellikle uygulamanızı projenize "ekleme" olarak adlandırılır.
Firebase konsoluna gidin.
Kurulum iş akışını başlatmak için projeye genel bakış sayfasının ortasındaki 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.
Uygulamanızın paket kimliğini paket kimliği alanına girin.
(İsteğe bağlı) Diğer uygulama bilgilerini girin: Uygulama takma adı ve App Store kimliği.
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 indir'i tıklayın.
C++ projenizi bir IDE'de açın, ardından yapılandırma dosyanızı C++ projenizin kök dizinine 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ı 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 ekleme örneğidir.
Firebase C++ SDK'sını indirin ve SDK'yı uygun bir konumda arşivden çıkarın.
Firebase C++ SDK'sı platforma özgü değildir ancak platforma özgü kitaplıklar içerir.
Arşivden çıkarılan SDK'dan Firebase pod'larını ekleyin.
Henüz yoksa bir Podfile oluşturun:
cd your-app-directory
pod init
Podfile'ınıza, uygulamanızda kullanmak istediğiniz Firebase pod'larını 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 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'
Pod'ları yükleyin, ardından Xcode'da
.xcworkspace
dosyasını açın.pod install
open your-app.xcworkspace
Açılan SDK'dan Firebase framework'lerini ekleyin.
Bu çerçeveleri eklemenin en kolay yolu genellikle bunları bir
Finder
penceresinden doğrudan Xcode'un Project Navigator bölmesine (varsayılan olarak en soldaki bölme; veya Xcode'un sol üst kısmındaki dosya simgesini tıklayın) sürüklemektir.Firebase C++ çerçevesini
firebase.framework
ekleyin. Bu çerçeve, herhangi bir Firebase ürününü kullanmak için gereklidir.Kullanmak istediğiniz her Firebase ürünü için çerçeveyi ekleyin. Örneğin, Firebase Authentication için
firebase_auth.framework
ekleyin.
Firebase konsoluna geri dönün ve kurulum iş akışında İleri'yi tıklayın.
Analytics eklediyseniz Firebase'e Firebase'i başarıyla entegre ettiğinizi doğrulayan bir mesaj 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.
Artık 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 belgelerinde ve GitHub'daki açık kaynak SDK sürümümüzde bulabilirsiniz.
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'ınıza ve C++ projenize eklediğinizden emin olun.
Her Firebase ürünü yalnızca belirli Apple işletim sistemi platformlarını (iOS, tvOS vb.) destekleyebilir. Hangi platformların her kitaplık tarafından desteklendiğini öğrenmek için C++ ve Firebase hakkında daha fazla bilgi edinin.
Firebase ürünü | Çerçeveler ve Pod'lar |
---|---|
AdMob |
(zorunlu) firebase.framework firebase_admob.framework (zorunlu) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (zorunlu) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(zorunlu) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(zorunlu) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(zorunlu) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(zorunlu) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(zorunlu) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(zorunlu) firebase.framework firebase_messaging.framework (önerilir) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (önerilir) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(zorunlu) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(zorunlu) firebase.framework firebase_dynamic_links.framework (önerilir) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (önerilir) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(zorunlu) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(zorunlu) firebase.framework firebase_remote_config.framework (önerilir) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (önerilir) pod 'FirebaseAnalytics', '12.0.0'
|
Mobil kurulum hakkında ek bilgiler
Yöntem dönüşümü
iOS'te bazı uygulama etkinlikleri (ör. URL'leri açma ve bildirim alma) için uygulama temsilcinizin belirli yöntemleri uygulaması gerekir. Örneğin, bildirim almak için uygulamanızın temsilcisinin application:didReceiveRemoteNotification:
yöntemini uygulaması gerekebilir. Her iOS uygulamasının kendi uygulama temsilcisi olduğundan Firebase, kendi işleyicilerini sizin uyguladıklarınıza ek olarak eklemek için bir yöntemin başka bir yöntemle değiştirilmesine olanak tanıyan yöntem karıştırmayı kullanır.
Dynamic Links ve Cloud Messaging kitaplıklarının, yöntem karıştırmayı kullanarak işleyicileri uygulama temsilcisine 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 geri arama zinciri oluşturur.
Masaüstü iş akışı oluşturma (beta)
Oyun oluştururken oyununuzu önce masaüstü platformlarda test etmek, ardından geliştirme sürecinin ilerleyen aşamalarında mobil cihazlarda dağıtıp test etmek genellikle ç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.
Masaüstü iş akışları için aşağıdakileri tamamlamanız gerekir:
- C++ projenizi CMake için yapılandırın.
- Firebase projesi oluşturma
- Uygulamanızı (iOS veya Android) Firebase'e kaydetme
- Mobil platform Firebase yapılandırma dosyası ekleme
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ı 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ı 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 konsol kurulumu iş akışında girdiğiniz C++ proje kimliğini içerir. Yapılandırma dosyaları hakkında daha fazla bilgi edinmek için Firebase projelerini anlama başlıklı makaleyi inceleyin.
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 bir örnek olarak verilmiştir. Bu örnekte, Firebase Authentication ve Firebase Realtime Database ekleme adımları açıklanmaktadır.
FIREBASE_CPP_SDK_DIR
ortam değişkeninizi, sıkıştırılmamış Firebase C++ SDK'sının konumuna ayarlayın.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}")
C++ uygulamanızı çalıştırın.
Kullanılabilir kitaplıklar (masaüstü)
Firebase C++ SDK'sı, özelliklerin bir alt kümesi için masaüstü iş akışı desteği içerir. Bu sayede, Firebase'in belirli bölümleri Windows, macOS ve Linux'ta bağımsız masaüstü derlemelerinde kullanılabilir.
Firebase ürünü | Kitaplık referansları (CMake kullanılarak) |
---|---|
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 geliştirme yaparken kolaylık sağlamak amacıyla kalan masaüstü kitaplıklarını stub (işlevsel olmayan) uygulamalar olarak sunar. 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 beyan etmeniz gerekir. Aksi takdirde dinleyicileriniz başarısız olur.
Masaüstü kurulumuyla ilgili 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: 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'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ık 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 64 bit (x86_64) platformunda kitaplık sürümleri sağlanır. Size kolaylık sağlamak için çerçeveler de sunulur.
macOS kitaplıklarının Xcode 16.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çevesiFoundation
macOS sistem çerçevesiSecurity
macOS sistem çerçevesiGSS
macOS sistem çerçevesiKerberos
macOS sistem çerçevesiSystemConfiguration
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) platformlarda 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 belgelerinize bakın. GCC 5 veya sonraki bir sürümle derleme yapıyorsanız -D_GLIBCXX_USE_CXX11_ABI=0
öğesini tanımlayın.
Sonraki adımlar
Örnek Firebase uygulamalarını inceleyin.
GitHub'daki açık kaynak SDK'yı keşfedin.
Uygulamanızı kullanıma sunmaya hazırlanma:
- Google Cloud konsolunda projeniz için bütçe uyarıları ayarlayın.
- Projenizin birden fazla Firebase hizmetindeki kullanımına dair genel bir görünüm elde etmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin.
- Firebase lansman kontrol listesini inceleyin.