Perkuat game C++ Anda dengan Firebase C++ SDK kami yang menyediakan antarmuka C++ di atas Firebase untuk iOS dan Android.
Akses Firebase sepenuhnya dari kode C++ Anda, tanpa harus menulis kode asli platform apa pun. Firebase SDK juga menerjemahkan banyak idiom khusus bahasa yang digunakan oleh Firebase ke dalam antarmuka yang lebih familiar bagi developer C++.
Temukan informasi lebih lanjut tentang meningkatkan game Anda dengan Firebase di halaman game Firebase kami.
Sudah menambahkan Firebase ke proyek C++ Anda? Pastikan Anda menggunakan versi terbaru dari Firebase C++ SDK .
Prasyarat
Pasang yang berikut ini:
- Xcode 13.3.1 atau lebih baru
- CocoaPods 1.10.0 atau lebih baru
Pastikan proyek Anda menargetkan versi platform berikut atau yang lebih baru:
- iOS 11
Siapkan perangkat iOS fisik atau gunakan simulator iOS untuk menjalankan aplikasi Anda.
Untuk Cloud Messaging di platform Apple, berikut prasyaratnya:
- Siapkan perangkat Apple fisik .
- Dapatkan Kunci Autentikasi Notifikasi Push Apple untuk akun Pengembang Apple Anda.
- Aktifkan Pemberitahuan Push di Xcode di bawah App > Capabilities .
Masuk ke Firebase menggunakan akun Google Anda.
Langkah 2 : Buat proyek Firebase
Sebelum dapat menambahkan Firebase ke proyek C++, Anda perlu membuat proyek Firebase untuk terhubung ke proyek C++. Kunjungi Memahami Proyek Firebase untuk mempelajari lebih lanjut tentang proyek Firebase.
Langkah 3 : Daftarkan aplikasi Anda dengan Firebase
Untuk menggunakan Firebase di aplikasi Apple, Anda perlu mendaftarkan aplikasi ke proyek Firebase. Mendaftarkan aplikasi Anda sering disebut "menambahkan" aplikasi Anda ke proyek Anda.
Buka konsol Firebase .
Di tengah halaman ikhtisar proyek, klik ikon iOS+ untuk meluncurkan alur kerja penyiapan.
Jika Anda sudah menambahkan aplikasi ke proyek Firebase, klik Tambahkan aplikasi untuk menampilkan opsi platform.
Masukkan ID bundel aplikasi Anda di bidang ID bundel .
ID bundel secara unik mengidentifikasi aplikasi di ekosistem Apple.
Temukan ID bundel Anda: buka proyek Anda di Xcode, pilih aplikasi tingkat atas di navigator proyek, lalu pilih tab Umum .
Nilai bidang Pengenal Bundel adalah ID bundel (misalnya,
com.yourcompany.yourproject
).Ketahuilah bahwa nilai ID bundel peka terhadap huruf besar-kecil, dan tidak dapat diubah untuk aplikasi Firebase ini setelah didaftarkan ke proyek Firebase Anda.
(Opsional) Masukkan informasi aplikasi lainnya: Nama panggilan aplikasi dan ID App Store .
Nama panggilan aplikasi : Pengidentifikasi kenyamanan internal yang hanya dapat dilihat oleh Anda di konsol Firebase
ID App Store : Digunakan oleh Firebase Dynamic Links untuk mengalihkan pengguna ke halaman App Store Anda dan oleh Google Analytics untuk mengimpor peristiwa konversi ke Google Ads . Jika aplikasi Anda belum memiliki ID App Store, Anda dapat menambahkan ID tersebut nanti di setelan Project .
Klik Daftarkan aplikasi .
Langkah 4 : Tambahkan file konfigurasi Firebase
Klik Unduh GoogleService-Info.plist untuk mendapatkan file konfigurasi platform Apple Firebase Anda.
File konfigurasi Firebase berisi pengidentifikasi unik namun tidak rahasia untuk proyek Anda. Untuk mempelajari lebih lanjut tentang file konfigurasi ini, kunjungi Memahami Proyek Firebase .
Anda dapat mengunduh kembali file konfigurasi Firebase Anda kapan saja.
Pastikan nama file konfigurasi tidak ditambahkan dengan karakter tambahan, seperti
(2)
.
Buka proyek C++ Anda di IDE, lalu seret file konfigurasi Anda ke akar proyek C++ Anda.
Jika diminta, pilih untuk menambahkan file konfigurasi ke semua target.
Anda telah selesai menyiapkan tugas di konsol Firebase. Lanjutkan ke Tambahkan Firebase C++ SDK di bawah ini.
Langkah 5 : Tambahkan Firebase C++ SDK
Langkah-langkah di bagian ini adalah contoh cara menambahkan produk Firebase yang didukung ke proyek Firebase C++ Anda.
Unduh Firebase C++ SDK , lalu unzip SDK di tempat yang nyaman.
Firebase C++ SDK tidak khusus platform, tetapi berisi pustaka khusus platform.
Tambahkan pod Firebase dari SDK yang telah dibuka zipnya.
Buat Podfile jika Anda belum memilikinya:
cd your-app-directory
pod init
Ke Podfile Anda, tambahkan pod Firebase yang ingin Anda gunakan di aplikasi Anda.
Analytics diaktifkan
# 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 tidak diaktifkan
# 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'
Instal pod, lalu buka file
.xcworkspace
di Xcode.pod install
open your-app.xcworkspace
Tambahkan kerangka kerja Firebase dari SDK yang telah dibuka ritsletingnya.
Cara termudah untuk menambahkan kerangka kerja ini biasanya dengan menyeretnya dari jendela
Finder
langsung ke panel Project Navigator Xcode (panel paling kiri, secara default; atau klik ikon file di kiri atas Xcode).Tambahkan framework Firebase C++
firebase.framework
, yang diperlukan untuk menggunakan produk Firebase apa pun.Tambahkan kerangka kerja untuk setiap produk Firebase yang ingin Anda gunakan. Misalnya, untuk menggunakan Firebase Authentication, tambahkan
firebase_auth.framework
.
Kembali ke konsol Firebase, di alur kerja penyiapan, klik Berikutnya .
Jika Anda menambahkan Analytics, jalankan aplikasi Anda untuk mengirimkan verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase. Jika tidak, Anda dapat melewati langkah verifikasi ini.
Log perangkat Anda akan menampilkan verifikasi Firebase bahwa inisialisasi selesai. Jika Anda menjalankan aplikasi di emulator yang memiliki akses jaringan, konsol Firebase akan memberi tahu Anda bahwa koneksi aplikasi Anda telah selesai.
Anda sudah siap! Aplikasi C++ Anda telah terdaftar dan dikonfigurasi untuk menggunakan produk Firebase.
Pustaka yang tersedia
Pelajari lebih lanjut tentang pustaka C++ Firebase dalam dokumentasi referensi dan dalam rilis SDK sumber terbuka kami di GitHub .
Pustaka yang tersedia untuk iOS
Perhatikan bahwa pustaka C++ untuk Android tercantum di versi Android laman penyiapan ini .
Setiap produk Firebase memiliki dependensi yang berbeda. Pastikan untuk menambahkan semua dependensi yang tercantum untuk produk Firebase yang diinginkan ke proyek Podfile dan C++ Anda.
produk Firebase | Framework dan Pod |
---|---|
AdMob | (wajib) firebase.framework firebase_admob.framework (wajib) firebase_analytics.framework pod 'FirebaseAdMob', '10.4.0' (wajib) pod 'FirebaseAnalytics', '10.4.0' |
Analitik | (wajib) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.4.0' |
Autentikasi | (wajib) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.4.0' |
Toko Api Awan | (wajib) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.4.0' pod 'FirebaseAuth', '10.4.0' |
Fungsi Awan | (wajib) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.4.0' |
Pesan Awan | (wajib) firebase.framework firebase_messaging.framework (disarankan) firebase_analytics.framework pod 'FirebaseMessaging', '10.4.0' (disarankan) pod 'FirebaseAnalytics', '10.4.0' |
Penyimpanan awan | (wajib) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.4.0' |
Tautan Dinamis | (wajib) firebase.framework firebase_dynamic_links.framework (disarankan) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.4.0' (disarankan) pod 'FirebaseAnalytics', '10.4.0' |
Basis Data Waktu Nyata | (wajib) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.4.0' |
Konfigurasi Jarak Jauh | (wajib) firebase.framework firebase_remote_config.framework (disarankan) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.4.0' (disarankan) pod 'FirebaseAnalytics', '10.4.0' |
Informasi tambahan untuk penyiapan seluler
Metode mendesis
Di iOS, beberapa kejadian aplikasi (seperti membuka URL dan menerima notifikasi) mengharuskan delegasi aplikasi Anda untuk mengimplementasikan metode tertentu. Misalnya, menerima notifikasi mungkin memerlukan delegasi aplikasi Anda untuk mengimplementasikan application:didReceiveRemoteNotification:
. Karena setiap aplikasi iOS memiliki delegasi aplikasinya sendiri, Firebase menggunakan metode swizzling , yang memungkinkan penggantian satu metode dengan metode lainnya, untuk melampirkan penangannya sendiri selain yang mungkin telah Anda implementasikan.
Pustaka Dynamic Links dan Cloud Messaging perlu melampirkan penangan ke delegasi aplikasi menggunakan metode swizzling. Jika Anda menggunakan salah satu produk Firebase ini, pada waktu pemuatan, Firebase akan mengidentifikasi kelas AppDelegate
Anda dan memasukkan metode yang diperlukan ke dalamnya, merantai panggilan balik ke implementasi metode yang ada.
Siapkan alur kerja desktop ( beta )
Saat Anda membuat game, seringkali lebih mudah untuk menguji game Anda di platform desktop terlebih dahulu, kemudian men-deploy dan mengujinya di perangkat seluler nanti dalam pengembangan. Untuk mendukung alur kerja ini, kami menyediakan subset Firebase C++ SDK yang dapat berjalan di Windows, macOS, Linux, dan dari dalam editor C++.
Untuk alur kerja desktop, Anda harus menyelesaikan hal berikut:
- Konfigurasikan proyek C++ Anda untuk CMake.
- Buat proyek Firebase
- Daftarkan aplikasi Anda (iOS atau Android) dengan Firebase
- Tambahkan file konfigurasi Firebase platform seluler
Buat versi desktop dari file konfigurasi Firebase:
Jika Anda menambahkan file Android
google-services.json
— Saat Anda menjalankan aplikasi, Firebase mencari file seluler ini, lalu secara otomatis menghasilkan file konfigurasi Firebase desktop (google-services-desktop.json
).Jika Anda menambahkan file iOS
GoogleService-Info.plist
— Sebelum menjalankan aplikasi, Anda perlu mengonversi file seluler ini menjadi file konfigurasi Firebase desktop . Untuk mengonversi file, jalankan perintah berikut dari direktori yang sama dengan fileGoogleService-Info.plist
Anda:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
File konfigurasi desktop ini berisi ID proyek C++ yang Anda masukkan di alur kerja penyiapan konsol Firebase. Kunjungi Memahami Proyek Firebase untuk mempelajari lebih lanjut tentang file konfigurasi.
Tambahkan Firebase SDK ke proyek C++ Anda.
Langkah-langkah di bawah berfungsi sebagai contoh cara menambahkan produk Firebase yang didukung ke proyek C++ Anda. Dalam contoh ini, kami membahas cara menambahkan Firebase Authentication dan Firebase Realtime Database.
Tetapkan variabel lingkungan
FIREBASE_CPP_SDK_DIR
Anda ke lokasi Firebase C++ SDK yang telah dibuka ritsletingnya.Ke file
CMakeLists.txt
project Anda, tambahkan konten berikut, termasuk library untuk produk Firebase yang ingin Anda gunakan. Misalnya, untuk menggunakan Firebase Authentication dan Firebase Realtime Database:# 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}")
Jalankan aplikasi C++ Anda.
Pustaka yang tersedia (desktop)
Firebase C++ SDK menyertakan dukungan alur kerja desktop untuk sekumpulan fitur, memungkinkan bagian tertentu dari Firebase untuk digunakan dalam build desktop mandiri di Windows, macOS, dan Linux.
produk Firebase | Referensi perpustakaan (menggunakan CMake) |
---|---|
Autentikasi | firebase_auth (wajib) firebase_app |
Toko Api Awan | firebase_firestore firebase_auth firebase_app |
Fungsi Awan | firebase_functions (wajib) firebase_app |
Penyimpanan awan | firebase_storage (wajib) firebase_app |
Basis Data Waktu Nyata | firebase_database (wajib) firebase_app |
Konfigurasi Jarak Jauh | firebase_remote_config (wajib) firebase_app |
Firebase menyediakan pustaka desktop yang tersisa sebagai implementasi stub (non-fungsional) untuk kenyamanan saat membangun untuk Windows, macOS, dan Linux. Oleh karena itu, Anda tidak perlu mengompilasi kode secara kondisional untuk menargetkan desktop.
Desktop Basis Data Waktu Nyata
Realtime Database SDK untuk desktop menggunakan REST untuk mengakses database Anda, jadi Anda harus mendeklarasikan indeks yang Anda gunakan dengan Query::OrderByChild()
di desktop atau pemroses Anda akan gagal.
Informasi tambahan untuk pengaturan desktop
Perpustakaan Windows
Untuk Windows, versi pustaka disediakan berdasarkan berikut ini:
- Bangun platform: mode 32-bit (x86) vs 64-bit (x64).
- Lingkungan runtime Windows: Multithreaded / MT vs Multithreaded DLL /MD
- Target: Rilis vs Debug
Perhatikan bahwa pustaka berikut diuji menggunakan Visual Studio 2015 dan 2017.
Saat membuat aplikasi desktop C++ di Windows, tautkan pustaka Windows SDK berikut ke proyek Anda. Konsultasikan dokumentasi kompiler Anda untuk informasi lebih lanjut.
Pustaka Firebase C++ | Ketergantungan perpustakaan Windows SDK |
---|---|
Autentikasi | advapi32, ws2_32, crypt32 |
Toko Api Awan | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Fungsi Awan | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Penyimpanan awan | advapi32, ws2_32, crypt32 |
Basis Data Waktu Nyata | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Konfigurasi Jarak Jauh | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
perpustakaan macOS
Untuk macOS (Darwin), versi pustaka disediakan untuk platform 64-bit (x86_64). Kerangka juga disediakan untuk kenyamanan Anda.
Perhatikan bahwa pustaka macOS telah diuji menggunakan Xcode 13.3.1.
Saat membuat aplikasi desktop C++ di macOS, tautkan yang berikut ke proyek Anda:
- pustaka sistem
pthread
- Kerangka sistem macOS
CoreFoundation
- Kerangka kerja sistem macOS
Foundation
- Kerangka kerja sistem macOS
Security
- Kerangka kerja sistem macOS
GSS
- Kerangka sistem macOS
Kerberos
- Kerangka kerja sistem macOS
SystemConfiguration
Konsultasikan dokumentasi kompiler Anda untuk informasi lebih lanjut.
perpustakaan Linux
Untuk Linux, versi pustaka disediakan untuk platform 32-bit (i386) dan 64-bit (x86_64).
Perhatikan bahwa pustaka Linux diuji menggunakan GCC 4.8.0, GCC 7.2.0, dan Clang 5.0 di Ubuntu.
Saat membuat aplikasi desktop C++ di Linux, tautkan pustaka sistem pthread
ke proyek Anda. Konsultasikan dokumentasi kompiler Anda untuk informasi lebih lanjut. Jika Anda membangun dengan GCC 5 atau lebih baru, tentukan -D_GLIBCXX_USE_CXX11_ABI=0
.
Langkah selanjutnya
Jelajahi contoh aplikasi Firebase .
Jelajahi SDK sumber terbuka di GitHub .
Bersiaplah untuk meluncurkan aplikasi Anda:
- Siapkan peringatan anggaran untuk proyek Anda di Google Cloud Console.
- Pantau dasbor Penggunaan dan penagihan di Firebase console untuk mendapatkan gambaran keseluruhan tentang penggunaan proyek Anda di beberapa layanan Firebase.
- Tinjau daftar periksa peluncuran Firebase .