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 versi terbaru Firebase C++ SDK.
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 13
- tvOS 13
Siapkan perangkat fisik atau gunakan simulator untuk menjalankan aplikasi Anda.
Ingin menggunakan Cloud Messaging?
Untuk menggunakan Cloud Messaging di platform Apple, berikut adalah prasyaratnya:
- Siapkan perangkat Apple fisik.
- Dapatkan Kunci Autentikasi Notifikasi Push Apple untuk akun Apple Developer.
- Di Xcode, aktifkan Notifikasi Push di App > Capabilities.
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.
Membuat project Firebase
-
Di Firebase console, klik Add project.
-
Untuk menambahkan resource Firebase ke project Google Cloud yang sudah ada, masukkan nama project-nya atau pilih dari menu dropdown.
-
Untuk membuat project baru, masukkan nama project yang diinginkan. Anda juga dapat mengedit project ID yang ditampilkan di bawah nama project.
-
-
Jika diminta, tinjau dan setujui persyaratan Firebase.
-
Klik Continue.
-
(Opsional) Siapkan Google Analytics untuk project Anda dan optimalkan penggunaan produk-produk Firebase berikut:
Pilih akun Google Analytics yang ada atau buat akun baru.
Jika Anda membuat akun baru, pilih lokasi pelaporan Analytics, lalu setujui setelan berbagi data dan persyaratan Google Analytics untuk project Anda.
-
Klik Create project (atau Add Firebase, jika Anda menggunakan project Google Cloud yang sudah ada).
Firebase menyediakan resource untuk project Firebase Anda secara otomatis. Setelah selesai, Anda akan dibawa ke halaman ringkasan untuk project Firebase Anda di Firebase console.
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.
Apa itu ID paket, dan di mana lokasinya?
ID paket secara unik mengidentifikasi aplikasi dalam ekosistem Apple.
Temukan ID paket Anda: buka project di Xcode, pilih aplikasi level teratas di navigator project, lalu pilih tab General.
Nilai kolom Bundle Identifier adalah ID paket (misalnya,
com.yourcompany.yourproject
).Perhatikan bahwa nilai ID paket peka huruf besar/kecil dan tidak dapat diubah untuk aplikasi Firebase ini setelah didaftarkan ke project Firebase Anda.
(Opsional) Masukkan informasi lain aplikasi: App nickname dan App Store ID.
Bagaimana App nickname dan App Store ID digunakan dalam Firebase?
App nickname: ID internal praktis yang hanya terlihat oleh Anda di Firebase console.
App Store ID: 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 App Store ID, Anda dapat menambahkan ID tersebut nanti di Project settings.
Klik Register app.
Langkah 4: Tambahkan file konfigurasi Firebase
Klik Download GoogleService-Info.plist untuk mendapatkan file konfigurasi platform Apple Firebase Anda.
Apa yang perlu Anda ketahui tentang file konfigurasi ini?
File konfigurasi Firebase berisi ID unik, tetapi tidak bersifat rahasia, untuk project Anda. Untuk mempelajari file konfigurasi ini lebih lanjut, baca Memahami Project Firebase.
Anda dapat mendownload file konfigurasi Firebase lagi kapan saja.
Pastikan nama file konfigurasi tidak diberi karakter tambahan, seperti
(2)
.
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 ke tempat yang mudah diakses.
Firebase C++ SDK tidak bersifat spesifik per platform, tetapi memuat library yang spesifik per 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.
# 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'# 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. Misalnya, 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 menjalankan aplikasi pada emulator yang memiliki akses jaringan, Firebase console akan memberi tahu 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', '11.8.1' (wajib ada) pod 'FirebaseAnalytics', '11.8.1'
|
Analytics |
(wajib ada) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '11.8.1'
|
App Check |
(wajib ada) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '11.8.1'
|
Authentication |
(wajib ada) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '11.8.1'
|
Cloud Firestore |
(wajib ada) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '11.8.1' pod 'FirebaseAuth', '11.8.1'
|
Cloud Functions |
(wajib ada) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '11.8.1'
|
Cloud Messaging |
(wajib ada) firebase.framework firebase_messaging.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseMessaging', '11.8.1' (direkomendasikan) pod 'FirebaseAnalytics', '11.8.1'
|
Cloud Storage |
(wajib ada) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '11.8.1'
|
Dynamic Links |
(wajib ada) firebase.framework firebase_dynamic_links.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseDynamicLinks', '11.8.1' (direkomendasikan) pod 'FirebaseAnalytics', '11.8.1'
|
Realtime Database |
(wajib ada) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '11.8.1'
|
Remote Config |
(wajib ada) firebase.framework firebase_remote_config.framework (direkomendasikan) firebase_analytics.framework pod 'FirebaseRemoteConfig', '11.8.1' (direkomendasikan) pod 'FirebaseAnalytics', '11.8.1'
|
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 handler-nya sendiri selain handler yang telah Anda terapkan.
Library Dynamic Links dan Cloud Messaging perlu menambahkan handler 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 terhadap metode yang diperlukan, 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 mempelajari 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.
Realtime Database di desktop
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 pemberitahuan anggaran untuk project Anda di konsol Google Cloud.
- Pantau dasbor Usage and billing di Firebase console untuk mendapatkan gambaran keseluruhan penggunaan project Anda di berbagai layanan Firebase.
- Periksa checklist peluncuran Firebase.