Perkuat game C++ Anda dengan Firebase C++ SDK kami yang menyediakan antarmuka C++ di atas Firebase SDK.
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
Instal editor atau IDE pilihan Anda, seperti Android Studio, IntelliJ, atau VS Code.
Dapatkan SDK Android .
Pastikan proyek Anda memenuhi persyaratan berikut:
Menargetkan API level 19 (KitKat) atau lebih tinggi
Menggunakan Gradle dan dikonfigurasi dengan CMake
Siapkan perangkat fisik atau gunakan emulator untuk menjalankan aplikasi Anda.
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 ke Firebase
Untuk menggunakan Firebase di aplikasi Android Anda, Anda perlu mendaftarkan aplikasi Anda ke proyek Firebase Anda. Mendaftarkan aplikasi Anda sering disebut "menambahkan" aplikasi Anda ke proyek Anda.
Buka konsol Firebase .
Di tengah halaman ikhtisar proyek, klik ikon Android (
) atau Tambahkan aplikasi untuk meluncurkan alur kerja penyiapan.Masukkan nama paket aplikasi Anda di kolom nama paket Android .
Nama paket secara unik mengidentifikasi aplikasi Anda di perangkat dan di Google Play Store.
Nama paket sering disebut sebagai ID aplikasi .
Temukan nama paket aplikasi Anda di file Gradle modul (level aplikasi), biasanya
app/build.gradle
(contoh nama paket:com.yourcompany.yourproject
).Ketahuilah bahwa nilai nama paket peka huruf besar/kecil, dan tidak dapat diubah untuk aplikasi Android Firebase ini setelah didaftarkan ke proyek Firebase Anda.
(Opsional) Masukkan informasi aplikasi lainnya: Nama panggilan aplikasi dan sertifikat penandatanganan Debug SHA-1 .
Nama panggilan aplikasi : Pengidentifikasi kenyamanan internal yang hanya dapat dilihat oleh Anda di konsol Firebase
Sertifikat penandatanganan debug SHA-1 : Hash SHA-1 diperlukan oleh Firebase Authentication (saat menggunakan Google Sign In atau login dengan nomor telepon ) dan Firebase Dynamic Links .
Klik Daftarkan aplikasi .
Langkah 4 : Tambahkan file konfigurasi Firebase
Klik Unduh google-services.json untuk mendapatkan file konfigurasi Android 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 tambahkan file konfigurasi ke proyek Anda:
Gradle builds — Tambahkan file konfigurasi Anda ke direktori yang sama dengan file
build.gradle
tingkat atas Anda.Sistem build lainnya — Lihat Sistem build khusus di bawah untuk menghasilkan Android String Resources .
(Khusus build Gradle) Untuk mengaktifkan layanan Firebase di project C++ Anda, tambahkan plugin google-services ke file
build.gradle
level teratas.Tambahkan aturan untuk menyertakan plugin Gradle Layanan Google. Periksa apakah Anda juga memiliki repositori Maven Google.
buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following lines: classpath 'com.google.gms:google-services:4.3.15' // Google Services plugin implementation 'com.google.android.gms:18.1.0' } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
Terapkan plugin Gradle Layanan Google:
apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
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.
Dalam file
gradle.properties
proyek Anda, tentukan lokasi SDK yang telah dibuka zipnya:systemProp.firebase_cpp_sdk.dir=full-path-to-SDK
Ke file
settings.gradle
proyek Anda, tambahkan konten berikut:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
Ke file Gradle modul (level aplikasi) Anda (biasanya
app/build.gradle
), tambahkan konten berikut.
Sertakan dependensi library untuk produk Firebase yang ingin Anda gunakan di aplikasi Anda.Analytics diaktifkan
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Analytics, Firebase Authentication, and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { analytics auth database }
Analytics tidak diaktifkan
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { auth database }
Ke file
CMakeLists.txt
proyek Anda, tambahkan konten berikut.
Sertakan pustaka untuk produk Firebase yang ingin Anda gunakan di aplikasi Anda.Analytics diaktifkan
# 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 Analytics, Firebase Authentication, and Firebase Realtime Database set(firebase_libs firebase_analytics firebase_auth firebase_database firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
Analytics tidak diaktifkan
# 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}")
Sinkronkan aplikasi Anda untuk memastikan bahwa semua dependensi memiliki versi yang diperlukan.
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.
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 terdaftar dan dikonfigurasi untuk menggunakan layanan 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 Android (menggunakan CMake)
Perhatikan bahwa pustaka C++ untuk platform Apple tercantum di versi platform Apple (iOS+) dari halaman penyiapan ini .
produk Firebase | Referensi perpustakaan ( firebaseCpp.dependencies untuk file build.gradle ) | Referensi perpustakaan ( firebase_libs untuk file CMakeLists.txt ) |
---|---|---|
AdMob | admob | firebase_admob (wajib) firebase_analytics (wajib) firebase_app |
Analitik | analytics | firebase_analytics (wajib) firebase_app |
Autentikasi | auth | firebase_auth (wajib) firebase_app |
Toko Api Awan | firestore | firebase_firestore (wajib) firebase_auth (wajib) firebase_app |
Fungsi Awan | functions | firebase_functions (wajib) firebase_app |
Pesan Awan | messaging | firebase_messaging (disarankan) firebase_analytics (wajib) firebase_app |
Penyimpanan awan | storage | firebase_storage (wajib) firebase_app |
Tautan Dinamis | dynamicLinks | firebase_dynamic_links (disarankan) firebase_analytics (wajib) firebase_app |
Basis Data Waktu Nyata | database | firebase_database (wajib) firebase_app |
Konfigurasi Jarak Jauh | remoteConfig | firebase_remote_config (disarankan) firebase_analytics (wajib) firebase_app |
Informasi tambahan untuk penyiapan seluler
Dapatkan laporan kerusakan NDK
Firebase Crashlytics mendukung pelaporan kerusakan untuk aplikasi yang menggunakan pustaka asli Android. Untuk mempelajari lebih lanjut, lihat Mendapatkan laporan kerusakan Android NDK .
Sistem pembuatan kustom
Firebase menyediakan skrip generate_xml_from_google_services_json.py
untuk mengonversi google-services.json
menjadi resource .xml
yang dapat Anda sertakan dalam proyek Anda. Skrip ini menerapkan transformasi yang sama seperti yang dilakukan plugin Gradle layanan Google Play saat membuat aplikasi Android.
Jika Anda tidak membangun menggunakan Gradle (misalnya, Anda menggunakan ndk-build, makefiles, Visual Studio, dll.), Anda dapat menggunakan skrip ini untuk mengotomatiskan pembuatan Android String Resources .
ProGuard
Banyak sistem build Android menggunakan ProGuard untuk build dalam mode Rilis guna mengecilkan ukuran aplikasi dan melindungi kode sumber Java.
Jika menggunakan ProGuard, Anda harus menambahkan file di libs/android/*.pro
yang sesuai dengan pustaka Firebase C++ yang Anda gunakan di konfigurasi ProGuard.
Misalnya, dengan Gradle, jika Anda menggunakan Google Analytics, file build.gradle
Anda akan terlihat seperti:
android { // ... buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('your-project-proguard-config.txt') proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/app.pro") proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/analytics.pro") // ... and so on, for each Firebase C++ library that you're using } } }
Persyaratan layanan Google Play
Sebagian besar pustaka Firebase C++ mengharuskan layanan Google Play berada di perangkat Android klien. Jika library Firebase C++ kInitResultFailedMissingDependency
saat inisialisasi, artinya layanan Google Play tidak tersedia di perangkat klien (artinya perlu diperbarui, diaktifkan kembali, izin diperbaiki, dll.). Pustaka Firebase tidak dapat digunakan hingga situasi pada perangkat klien diperbaiki.
Anda dapat mengetahui mengapa layanan Google Play tidak tersedia di perangkat klien (dan mencoba memperbaikinya) dengan menggunakan fungsi di google_play_services/availability.h
.
Tabel berikut mencantumkan apakah layanan Google Play diperlukan di perangkat klien untuk setiap produk Firebase yang didukung.
Pustaka Firebase C++ | Layanan Google Play diperlukan di perangkat klien? |
---|---|
AdMob | Tidak diperlukan (biasanya) |
Analitik | Tidak dibutuhkan |
Autentikasi | Diperlukan |
Toko Api Awan | Diperlukan |
Fungsi Awan | Diperlukan |
Pesan Awan | Diperlukan |
Penyimpanan awan | Diperlukan |
Tautan Dinamis | Diperlukan |
Basis Data Waktu Nyata | Diperlukan |
Konfigurasi Jarak Jauh | Diperlukan |
Layanan AdMob dan Google Play
Sebagian besar versi SDK Iklan Seluler Google untuk Android dapat berfungsi dengan baik tanpa layanan Google Play di perangkat klien. Namun, jika Anda menggunakan ketergantungan com.google.android.gms:play-services-ads-lite
, bukan ketergantungan standar com.google.firebase:firebase-ads
tercantum di atas, diperlukan layanan Google Play .
Inisialisasi AdMob hanya akan kInitResultFailedMissingDependency
jika kedua hal berikut ini benar:
- Layanan Google Play tidak tersedia di perangkat klien.
- Anda menggunakan
com.google.android.gms:play-services-ads-lite
.
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 |
pustaka 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:
- perpustakaan 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 berbagai layanan Firebase.
- Tinjau daftar periksa peluncuran Firebase .