Tingkatkan performa game C++ Anda dengan Firebase C++ SDK kami yang menyediakan antarmuka C++ pada Firebase SDK.
Dapatkan akses ke Firebase sepenuhnya dari kode C++ Anda, tanpa harus menulis kode native platform apa pun. Firebase SDK juga menerjemahkan berbagai idiom bahasa tertentu yang digunakan oleh Firebase agar menjadi antarmuka yang lebih dikenal oleh developer C++.
Cari tahu informasi lebih lanjut tentang cara meningkatkan performa game Anda dengan Firebase di halaman game Firebase kami.
Sudah menambahkan Firebase ke project C++ Anda? Pastikan Anda menggunakan Firebase C++ SDK versi terbaru.
Prasyarat
Instal yang berikut ini:
- Xcode 13.3.1 atau versi yang lebih baru
- CocoaPods 1.12.0 atau versi yang lebih baru
Pastikan project Anda menarget versi platform berikut atau yang lebih baru:
- iOS 11
- tvOS 12
Siapkan perangkat fisik atau gunakan simulator untuk menjalankan aplikasi Anda.
Login ke Firebase menggunakan Akun Google Anda.
Langkah 2: Buat project Firebase
Agar dapat menambahkan Firebase ke project C++, Anda perlu membuat project Firebase untuk terhubung ke project C++. Buka bagian Memahami Project Firebase untuk mempelajari project Firebase lebih lanjut.
Langkah 3: Daftarkan aplikasi Anda ke Firebase
Untuk menggunakan Firebase di aplikasi Apple, Anda perlu mendaftarkan aplikasi ke project Firebase. Mendaftarkan aplikasi sering kali disebut sebagai "menambahkan" aplikasi ke project Anda.
Buka Firebase console.
Di bagian tengah halaman ringkasan project, klik ikon iOS+ untuk meluncurkan alur kerja penyiapan.
Jika Anda sudah menambahkan aplikasi ke project Firebase, klik Add app untuk menampilkan opsi platform.
Masukkan ID paket aplikasi Anda di kolom bundle ID.
(Opsional) Masukkan informasi lain aplikasi: App nickname dan App Store ID.
Klik Register app.
Langkah 4: Tambahkan file konfigurasi Firebase
Klik Download GoogleService-Info.plist untuk mendapatkan file konfigurasi platform Apple Firebase Anda.
Buka project C++ Anda di IDE, lalu tarik file konfigurasi ke root project C++ Anda.
Jika diminta, pilih untuk menambahkan file konfigurasi ke semua target.
Anda sudah menyelesaikan tugas penyiapan di Firebase console. Lanjutkan ke Menambahkan 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 project Firebase C++ Anda.
Download Firebase C++ SDK, lalu ekstrak SDK tersebut di tempat yang mudah diakses.
Firebase C++ SDK tidak bersifat khusus platform, tetapi memuat library khusus platform.
Tambahkan pod Firebase dari SDK yang telah diekstrak.
Buat Podfile jika Anda belum memilikinya:
cd your-app-directory
pod init
Tambahkan pod Firebase yang ingin digunakan dalam aplikasi Anda ke Podfile tersebut.
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 framework Firebase dari SDK yang telah diekstrak.
Cara termudah untuk menambahkan framework ini adalah dengan menariknya dari jendela
Finder
secara langsung ke panel Project Navigator Xcode (secara default, panel paling kiri; atau klik ikon file di kiri atas Xcode).Tambahkan framework Firebase C++
firebase.framework
, yang wajib ada untuk menggunakan produk Firebase apa pun.Tambahkan framework untuk setiap produk Firebase yang ingin digunakan. Sebagai contoh, untuk menggunakan Firebase Authentication, tambahkan
firebase_auth.framework
.
Kembali ke Firebase console, di alur kerja penyiapan, klik Next.
Jika Anda menambahkan Analytics, jalankan aplikasi Anda untuk mengirim verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase. Jika tidak, Anda dapat melewati proses verifikasi ini.
Log perangkat Anda akan menampilkan verifikasi Firebase bahwa inisialisasi telah selesai. Jika Anda menjalankan aplikasi pada emulator yang memiliki akses jaringan, Firebase console akan memberitahukan bahwa koneksi aplikasi Anda telah selesai.
Anda sudah siap. Aplikasi C++ Anda sudah terdaftar dan dikonfigurasi untuk menggunakan produk Firebase.
Library yang tersedia
Pelajari library C++ Firebase lebih lanjut di dokumentasi referensi dan dalam rilis SDK open source kami di GitHub.
Library yang tersedia untuk platform Apple
Perlu diperhatikan bahwa library C++ untuk Android tercantum di halaman penyiapan ini untuk versi Android.
Setiap produk Firebase memiliki dependensi yang berbeda-beda. Pastikan untuk menambahkan semua dependensi yang tercantum untuk produk Firebase yang diinginkan ke Podfile dan project C++ Anda.
Setiap produk Firebase hanya dapat mendukung pemilihan platform Apple OS (iOS, tvOS, dll.). Periksa platform yang didukung oleh setiap library di bagian Pelajari C++ dan Firebase lebih lanjut.
Produk Firebase | Framework dan Pod |
---|---|
AdMob |
(wajib ada) firebase.framework firebase_admob.framework (wajib ada) firebase_analytics.framework pod 'FirebaseAdMob', '10.22.0' (wajib ada) pod 'FirebaseAnalytics', '10.22.0'
|
Analytics |
(wajib ada) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.22.0'
|
App Check |
(wajib ada) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.22.0'
|
Authentication |
(wajib ada) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.22.0'
|
Cloud Firestore |
(wajib ada) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.22.0' pod 'FirebaseAuth', '10.22.0'
|
Cloud Functions |
(wajib ada) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.22.0'
|
Cloud Messaging |
(wajib ada) firebase.framework firebase_messaging.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseMessaging', '10.22.0' (direkomendasikan) pod 'FirebaseAnalytics', '10.22.0'
|
Cloud Storage |
(wajib ada) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.22.0'
|
Dynamic Links |
(wajib ada) firebase.framework firebase_dynamic_links.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.22.0' (direkomendasikan) pod 'FirebaseAnalytics', '10.22.0'
|
Realtime Database |
(wajib ada) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.22.0'
|
Remote Config |
(wajib ada) firebase.framework firebase_remote_config.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.22.0' (direkomendasikan) pod 'FirebaseAnalytics', '10.22.0'
|
Informasi tambahan untuk penyiapan seluler
Method swizzling
Beberapa peristiwa aplikasi di iOS (misalnya membuka URL dan menerima notifikasi) mengharuskan delegasi aplikasi Anda untuk mengimplementasikan metode tertentu. Misalnya, menerima notifikasi mungkin memerlukan delegasi
aplikasi Anda untuk menerapkan application:didReceiveRemoteNotification:
. Karena
setiap aplikasi iOS memiliki delegasi aplikasinya sendiri, Firebase menggunakan
method swizzling, yang memungkinkan penggantian suatu metode dengan metode lainnya,
untuk menambahkan pengendalinya sendiri selain pengendali yang telah Anda terapkan.
Library Dynamic Links dan Cloud Messaging perlu menambahkan pengendali ke delegasi aplikasi menggunakan method swizzling. Jika Anda menggunakan salah satu produk Firebase ini, pada waktu pemuatan, Firebase akan mengidentifikasi class AppDelegate
Anda dan melakukan swizzling metode yang diperlukan untuknya, lalu mengikat callback ke penerapan metode yang ada.
Menyiapkan alur kerja desktop (beta)
Saat Anda membuat game, pengujian game sering kali jauh lebih mudah dilakukan di platform desktop terlebih dahulu, baru kemudian di-deploy dan diuji di perangkat seluler selama proses pengembangan. Untuk mendukung alur kerja ini, kami menyediakan subset Firebase C++ SDK yang dapat dijalankan di Windows, macOS, Linux, dan dari dalam editor C++.
Untuk alur kerja desktop, Anda perlu menyelesaikan langkah berikut:
- Mengonfigurasi project C++ Anda untuk CMake
- Membuat project Firebase
- Mendaftarkan aplikasi Anda (iOS atau Android) ke Firebase
- Menambahkan file konfigurasi Firebase platform seluler
Buat versi desktop untuk file konfigurasi Firebase:
Jika Anda menambahkan file
google-services.json
Android - Saat menjalankan aplikasi, Firebase akan mencari file seluler ini, lalu otomatis membuat file konfigurasi Firebase desktop (google-services-desktop.json
).Jika Anda menambahkan file
GoogleService-Info.plist
iOS — Sebelum menjalankan aplikasi, Anda harus mengonversi file seluler ini menjadi file konfigurasi Firebase desktop. Untuk mengonversi file tersebut, 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 project ID C++ yang Anda masukkan dalam alur kerja penyiapan Firebase console. Buka bagian Memahami Project Firebase untuk mempelajari file konfigurasi lebih lanjut.
Tambahkan Firebase SDK ke project C++ Anda.
Langkah-langkah di bawah ini berfungsi sebagai contoh cara menambahkan produk Firebase yang didukung ke project C++ Anda. Dalam contoh ini, kita akan membahas cara menambahkan Firebase Authentication dan Firebase Realtime Database.
Tetapkan variabel lingkungan
FIREBASE_CPP_SDK_DIR
ke lokasi Firebase C++ SDK yang telah diekstrak.Pada 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.
Library yang tersedia (desktop)
Firebase C++ SDK menyertakan dukungan alur kerja desktop untuk subset fitur, yang memungkinkan bagian tertentu dari Firebase digunakan dalam build desktop mandiri di Windows, macOS, dan Linux.
Produk Firebase | Referensi library (menggunakan CMake) |
---|---|
App Check |
firebase_app_check (wajib ada) firebase_app
|
Authentication |
firebase_auth (wajib ada) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud Functions |
firebase_functions (wajib ada) firebase_app
|
Cloud Storage |
firebase_storage (wajib ada) firebase_app
|
Realtime Database |
firebase_database (wajib ada) firebase_app
|
Remote Config |
firebase_remote_config (wajib ada) firebase_app
|
Firebase menyediakan library desktop lainnya sebagai implementasi stub (nonfungsional) demi kemudahan saat mem-build aplikasi untuk Windows, macOS, dan Linux. Oleh karena itu, Anda tidak perlu mengompilasi kode secara bersyarat saat menargetkan desktop.
Desktop Realtime Database
Realtime Database SDK untuk desktop menggunakan REST untuk mengakses database, sehingga Anda harus mendeklarasikan indeks yang digunakan dengan Query::OrderByChild()
di desktop. Jika tidak, pemroses akan gagal.
Informasi tambahan untuk penyiapan desktop
Library Windows
Untuk Windows, versi library disediakan berdasarkan:
- Platform build: mode 32-bit (x86) vs 64-bit (x64)
- Lingkungan runtime Windows: Multithreaded/MT vs Multithreaded DLL/MD
- Target: Rilis vs Debug
Perlu diperhatikan bahwa library berikut diuji menggunakan Visual Studio 2015 dan 2017.
Saat mem-build aplikasi desktop C++ di Windows, tautkan library Windows SDK berikut ke project Anda. Baca dokumentasi compiler untuk informasi lebih lanjut.
Library Firebase C++ | Dependensi library Windows SDK |
---|---|
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 |
Library macOS
Untuk macOS (Darwin), versi library disediakan untuk platform 64-bit (x86_64). Framework juga disediakan demi kemudahan Anda.
Perlu diperhatikan bahwa library macOS telah diuji menggunakan Xcode 13.3.1.
Saat mem-build aplikasi desktop C++ di macOS, tautkan hal-hal berikut ke project Anda:
- Library sistem
pthread
- Framework sistem macOS
CoreFoundation
- Framework sistem macOS
Foundation
- Framework sistem macOS
Security
- Framework sistem macOS
GSS
- Framework sistem macOS
Kerberos
- Framework sistem macOS
SystemConfiguration
Baca dokumentasi compiler untuk mengetahui informasi lebih lanjut.
Library Linux
Untuk Linux, versi library disediakan untuk platform 32-bit (i386) dan 64-bit (x86_64).
Perlu diperhatikan bahwa library Linux diuji menggunakan GCC 4.8.0, GCC 7.2.0, dan Clang 5.0 di Ubuntu.
Saat mem-build aplikasi desktop C++ di Linux, tautkan library sistem pthread
ke project Anda. Baca dokumentasi compiler untuk mengetahui informasi lebih lanjut. Jika Anda mem-build dengan GCC 5 atau yang lebih baru, tentukan -D_GLIBCXX_USE_CXX11_ABI=0
.
Langkah berikutnya
Pelajari contoh aplikasi Firebase.
Pelajari SDK open source di GitHub.
Bersiap meluncurkan aplikasi Anda:
- Siapkan notifikasi anggaran untuk project Anda di Google Cloud Console.
- Pantau dasbor Usage and billing di Firebase console untuk mendapatkan gambaran keseluruhan penggunaan project Anda di berbagai layanan Firebase.
- Periksa checklist peluncuran Firebase.