Menambahkan Firebase ke project C++

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 editor atau IDE pilihan Anda, seperti Android Studio, IntelliJ, atau VS Code.

  • Dapatkan Android SDK.

  • Pastikan project Anda memenuhi persyaratan berikut:

  • Siapkan perangkat fisik atau gunakan emulator untuk menjalankan aplikasi Anda.

    • Emulator harus menggunakan image emulator dengan Google Play.

    • Untuk beberapa library C++, layanan Google Play diperlukan di perangkat klien. Lihat daftarnya di halaman ini.

  • 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.

  1. 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.

  2. Jika diminta, tinjau dan setujui persyaratan Firebase.

  3. Klik Continue.

  4. (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.

  5. 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 Android, Anda perlu mendaftarkan aplikasi ke project Firebase. Mendaftarkan aplikasi sering kali disebut sebagai "menambahkan" aplikasi ke project Anda.

  1. Buka Firebase console.

  2. Di bagian tengah halaman ringkasan project, klik ikon Android () atau Add app untuk meluncurkan alur kerja penyiapan.

  3. Masukkan nama paket aplikasi Anda di kolom Android package name.

    • 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 dalam file Gradle modul (level aplikasi), biasanya app/build.gradle (contoh nama paket: com.yourcompany.yourproject).

    • Perhatikan bahwa nilai nama paket peka huruf besar/kecil dan tidak dapat diubah untuk aplikasi Android Firebase ini setelah didaftarkan ke project Firebase Anda.

  4. (Opsional) Masukkan informasi aplikasi yang lain: App nickname dan Debug signing certificate SHA-1.

  5. Klik Register app.

Langkah 4: Tambahkan file konfigurasi Firebase

  1. Klik Download google-services.json untuk mendapatkan file konfigurasi Android Firebase Anda.

    • 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).

  2. Buka project C++ Anda di IDE, lalu tambahkan file konfigurasi ke project Anda:

    • Build Gradle — Tambahkan file konfigurasi ke direktori yang sama dengan file build.gradle level teratas.

    • Sistem build lainnya — Pelajari Sistem build kustom di bawah untuk membuat Resource String Android.

  3. (Khusus build Gradle) Untuk mengaktifkan layanan Firebase di project C++ Anda, tambahkan plugin google-services ke file build.gradle level teratas.

    1. Tambahkan aturan untuk menyertakan plugin Gradle Layanan Google. Pastikan 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.4.2'  // Google Services plugin
            implementation 'com.google.android.gms:18.5.0'
          }
        }
      
        allprojects {
          // ...
      
          repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
            // ...
          }
        }
      
    2. 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 {
          // ...
        }
      
  4. 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.

  1. 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.

  2. Pada file gradle.properties project Anda, tentukan lokasi SDK yang telah diekstrak:

    systemProp.firebase_cpp_sdk.dir=full-path-to-SDK
  3. Pada file settings.gradle project 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"
  4. Pada file Gradle modul (level aplikasi) (biasanya app/build.gradle), tambahkan konten berikut.
    Sertakan dependensi library untuk produk Firebase yang ingin digunakan di aplikasi Anda.

    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
    }
    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
    }
  5. Tambahkan konten berikut ke file CMakeLists.txt project Anda.
    Sertakan library untuk produk Firebase yang ingin digunakan di aplikasi Anda.

    # 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}")
    # 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}")
  6. Sinkronkan aplikasi Anda untuk memastikan bahwa semua dependensi memiliki versi yang diperlukan.

  7. Jika Anda menambahkan Analytics, jalankan aplikasi Anda untuk mengirim verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase. Jika tidak, Anda dapat mengabaikan langkah verifikasi.

    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 dikonfigurasikan untuk menggunakan layanan Firebase.

  1. Pastikan Anda memiliki Android NDK v10d atau yang lebih baru.
  2. Download Firebase C++ SDK, lalu ekstrak SDK di tempat yang mudah diakses.

    Firebase C++ SDK tidak bersifat spesifik per platform, tetapi memuat library yang spesifik per platform.

  3. Buka file local.properties Anda, lalu:

    • Tetapkan variabel firebase_cpp_sdk.dir ke lokasi dari Firebase C++ SDK yang telah diekstrak.
    • Tetapkan variabel ndk.dir ke lokasi Android NDK.
  4. Untuk menggunakan dukungan ndkBuild bawaan Gradle, buat direktori jni dalam direktori level teratas, lalu buat file make berikut.

    1. Buat file jni/Application.mk dengan hal-hal berikut ini:

      APP_PLATFORM:=android-14
      NDK_TOOLCHAIN_VERSION=clang
      APP_ABI:=armeabi-v7a arm64-v8a x86 x86_64
      APP_STL:=c++_static
      APP_MODULES:=android_main
      APP_CPPFLAGS+=-std=c++11
    2. Buat file jni/Android.mk dengan konten berikut.

      Sertakan library produk Firebase yang ingin Anda gunakan. Misalnya, untuk menggunakan Analytics:

      LOCAL_PATH:=$(call my-dir)/..
      
      ifeq ($(FIREBASE_CPP_SDK_DIR),)
      $(error FIREBASE_CPP_SDK_DIR must specify the Firebase package location.)
      endif
      
      # With Firebase libraries for the selected build configuration (ABI + STL)
      STL:=$(firstword $(subst _, ,$(APP_STL)))
      FIREBASE_LIBRARY_PATH:=\
      $(FIREBASE_CPP_SDK_DIR)/libs/android/$(TARGET_ARCH_ABI)/$(STL)
      
      # The Firebase C++ library `libfirebase_app.a` is required for all Firebase products.
      include $(CLEAR_VARS)
      LOCAL_MODULE:=firebase_app
      LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_app.a
      LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include
      include $(PREBUILT_STATIC_LIBRARY)
      
      # Include the Firebase library for Google Analytics.
      # Note: Duplicate this block for each Firebase product that you want
      # to use in your app, and replace variable values as appropriate.
      include $(CLEAR_VARS)
      LOCAL_MODULE:=firebase_analytics
      LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_analytics.a
      LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include
      include $(PREBUILT_STATIC_LIBRARY)
      
      include $(CLEAR_VARS)
      LOCAL_MODULE:=android_main
      # Reference your project's C++ source files
      LOCAL_SRC_FILES:=\
        $(LOCAL_PATH)/src/common_main.cc \
        $(LOCAL_PATH)/src/android/android_main.cc
      LOCAL_STATIC_LIBRARIES:=\
        firebase_analytics \
        firebase_app  # this library reference must always be listed last
      LOCAL_WHOLE_STATIC_LIBRARIES:=\
        android_native_app_glue
      LOCAL_C_INCLUDES:=\
        $(NDK_ROOT)/sources/android/native_app_glue \
        $(LOCAL_PATH)/src
      LOCAL_LDLIBS:=-llog -landroid -latomic
      LOCAL_ARM_MODE:=arm
      LOCAL_LDFLAGS:=-Wl,-z,defs -Wl,--no-undefined
      include $(BUILD_SHARED_LIBRARY)
      
      $(call import-add-path,$(NDK_ROOT)/sources/android)
      $(call import-module,android/native_app_glue)
  5. Buka file build.gradle level teratas, lalu selesaikan langkah-langkah berikut:

    1. Tambahkan dependensi untuk produk Firebase yang ingin digunakan. Misalnya, untuk menggunakan Analytics:

      dependencies {
        implementation 'com.google.firebase:firebase-analytics:21.0.0'
      }
    2. Tambahkan baris berikut sehingga project Anda menggunakan dukungan ndk-build bawaan Gradle untuk menyertakan library Firebase yang ditentukan dalam file jni/Android.mk.

      android {
      // ...
          defaultConfig {
              // ...
              externalNativeBuild.ndkBuild {
                  arguments "FIREBASE_CPP_SDK_DIR=${project.ext.firebase_cpp_sdk_dir}",
                            "NDK_APPLICTION_MK=jni/Application.mk",
                            sprintf("APP_PLATFORM=android-%d",
                            android.defaultConfig.minSdkVersion.mApiLevel)
              }
          }
      }

Setiap produk Firebase memiliki dependensi yang berbeda-beda. Pastikan untuk menambahkan semua dependensi yang tercantum untuk produk Firebase yang ingin Anda gunakan.

Tambahkan library Firebase C++ (seperti libfirebase_app.a) dengan menyertakannya dalam file jni/Android.mk level teratas. Untuk dependensi lainnya (seperti com.google.firebase:firebase-auth), tambahkan dependensi tersebut ke file build.gradle level teratas.

Produk Firebase Library dan Dependensi
AdMob libfirebase_admob.a
(wajib ada) libfirebase_analytics.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-ads:19.8.0'
(wajib ada) implementation 'com.google.firebase:firebase-analytics:21.0.0'
Analytics libfirebase_analytics.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-analytics:21.0.0'
App Check libfirebase_app_check.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-appcheck:17.0.0'
Authentication libfirebase_auth.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-auth:21.0.5'
Cloud Firestore libfirebase_firestore.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-firestore:24.1.2'
Cloud Functions libfirebase_functions.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-functions:20.1.0'
Cloud Messaging libfirebase_messaging.a
(direkomendasikan) libfirebase_analytics.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-messaging:23.0.5'
(direkomendasikan) implementation 'com.google.firebase:firebase-analytics:21.0.0'
Cloud Storage libfirebase_storage.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-storage:20.0.1'
Dynamic Links ibfirebase_dynamic_links.a
(direkomendasikan) libfirebase_analytics.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-dynamic-links:21.0.1'
(direkomendasikan) implementation 'com.google.firebase:firebase-analytics:21.0.0'
Realtime Database libfirebase_database.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-database:20.0.5'
Remote Config libfirebase_remote_config.a
(direkomendasikan) libfirebase_analytics.a
(wajib ada) libfirebase_app.a

implementation 'com.google.firebase:firebase-config:21.1.0'
(direkomendasikan) implementation 'com.google.firebase:firebase-analytics:21.0.0'

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 Android (menggunakan CMake)

Perlu diperhatikan bahwa library C++ untuk platform Apple tercantum di versi platform Apple (iOS+) di halaman penyiapan ini.

Produk Firebase Referensi library
(firebaseCpp.dependencies
untuk file build.gradle)
Referensi library
(firebase_libs
untuk file CMakeLists.txt)
AdMob admob firebase_admob
(wajib ada) firebase_analytics
(wajib ada) firebase_app
Analytics analytics firebase_analytics
(wajib ada) firebase_app
App Check appCheck firebase_app_check
(wajib ada) firebase_app
Authentication auth firebase_auth
(wajib ada) firebase_app
Cloud Firestore firestore firebase_firestore
(wajib ada) firebase_auth
(wajib ada) firebase_app
Cloud Functions functions firebase_functions
(wajib ada) firebase_app
Cloud Messaging messaging firebase_messaging
(direkomendasikan) firebase_analytics
(wajib ada) firebase_app
Cloud Storage storage firebase_storage
(wajib ada) firebase_app
Dynamic Links dynamicLinks firebase_dynamic_links
(direkomendasikan) firebase_analytics
(wajib ada) firebase_app
Realtime Database database firebase_database
(wajib ada) firebase_app
Remote Config remoteConfig firebase_remote_config
(direkomendasikan) firebase_analytics
(wajib ada) firebase_app

Informasi tambahan untuk penyiapan seluler

Mendapatkan laporan error NDK

Firebase Crashlytics mendukung pelaporan error untuk aplikasi yang menggunakan library native Android. Untuk mempelajari lebih lanjut, lihat Mendapatkan laporan error Android NDK.

Sistem build kustom

Firebase menyediakan skrip generate_xml_from_google_services_json.py untuk mengonversi google-services.json menjadi resource .xml yang dapat Anda sertakan dalam project. Skrip ini menerapkan transformasi yang sama dengan yang dilakukan oleh plugin Gradle layanan Google Play saat mem-build aplikasi Android.

Jika Anda tidak mem-build project menggunakan Gradle (misalnya, Anda menggunakan ndk-build, makefile, Visual Studio, dll.), Anda dapat menggunakan skrip ini untuk mengotomatiskan pembuatan Resource String Android.

ProGuard

Berbagai sistem build Android menggunakan ProGuard untuk build dalam mode Rilis untuk mengurangi ukuran aplikasi dan melindungi kode sumber Java.

Jika menggunakan ProGuard, Anda harus menambahkan file dalam libs/android/*.pro yang sesuai dengan library Firebase C++ yang Anda gunakan dalam 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 library Firebase C++ mengharuskan layanan Google Play berada di perangkat Android klien. Jika library Firebase C++ menampilkan kInitResultFailedMissingDependency pada saat inisialisasi, berarti layanan Google Play tidak tersedia di perangkat klien (artinya perlu diupdate, diaktifkan kembali, perlu perbaikan izin, dll.). Library Firebase tidak dapat digunakan jika situasi di perangkat klien belum diperbaiki.

Anda dapat mencari tahu 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.

Library Firebase C++ Apakah layanan Google Play diperlukan di perangkat klien?
AdMob Tidak diperlukan (biasanya)
Analytics Tidak wajib
Authentication Wajib
Cloud Firestore Wajib
Cloud Functions Wajib
Cloud Messaging Wajib
Cloud Storage Wajib
Dynamic Links Wajib
Realtime Database Wajib
Remote Config Wajib

AdMob dan layanan Google Play

Sebagian besar versi Google Mobile Ads SDK untuk Android dapat berfungsi dengan baik tanpa layanan Google Play di perangkat klien. Namun, jika Anda menggunakan dependensi com.google.android.gms:play-services-ads-lite, bukan dependensi standar com.google.firebase:firebase-ads yang tercantum di atas, layanan Google Play diperlukan.

Inisialisasi AdMob hanya akan menampilkan kInitResultFailedMissingDependency jika kedua hal berikut berlaku:

  • Layanan Google Play tidak tersedia di perangkat klien.
  • Anda menggunakan com.google.android.gms:play-services-ads-lite.

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++.

  1. Untuk alur kerja desktop, Anda perlu menyelesaikan langkah berikut:

    1. Mengonfigurasi project C++ Anda untuk CMake
    2. Membuat project Firebase
    3. Mendaftarkan aplikasi Anda (iOS atau Android) ke Firebase
    4. Menambahkan file konfigurasi Firebase platform seluler
  2. 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 file GoogleService-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.

  3. 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.

    1. Tetapkan variabel lingkungan FIREBASE_CPP_SDK_DIR ke lokasi Firebase C++ SDK yang telah diekstrak.

    2. 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}")
  4. 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