Buka konsol

Menambahkan Firebase ke project C++plat_iosplat_androidplat_cpp

Sempurnakan game C++ Anda dengan Firebase C++ SDK kami yang menyediakan antarmuka C++ pada Firebase untuk iOS dan Android.

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 menyempurnakan game Anda dengan Firebase di halaman game Firebase kami.

Langkah 1: Siapkan lingkungan Anda

  • Instal Xcode 9.4.1 atau yang lebih baru.

  • Instal CocoaPods 1.4.0 atau yang lebih baru.

  • Buka project C++ Anda di Xcode.

    • Aplikasi Anda harus menargetkan iOS 8 atau yang lebih baru.
  • Siapkan perangkat atau emulator untuk menjalankan aplikasi Anda.

    • Untuk Cloud Messaging, Anda memerlukan:
      • Perangkat iOS fisik
      • Sertifikat APN dengan Notifikasi Push aktif
  • 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

Anda dapat mendaftarkan satu atau beberapa aplikasi untuk dihubungkan dengan project Firebase Anda.

Buka bagian Memahami Project Firebase untuk mempelajari lebih lanjut praktik terbaik dan pertimbangan dalam menambahkan aplikasi ke project Firebase, termasuk cara menangani beberapa variasi build.

  1. Di tengah halaman ringkasan project Firebase console, klik ikon iOS untuk meluncurkan alur kerja penyiapan.

    Jika Anda sudah menambahkan aplikasi ke project Firebase, klik Tambahkan aplikasi untuk menampilkan opsi platform.

  2. Masukkan ID paket aplikasi di kolom ID paket iOS.

    • Temukan ID paket ini dari project terbuka Anda di XCode. Pilih aplikasi level paling atas pada navigator project di sebelah kiri, lalu akses tab Umum. Nilai ID Paket merupakan ID paket iOS (misalnya com.yourcompany.ios-app-name).
  3. (Opsional) Masukkan informasi aplikasi lain seperti yang diminta oleh alur kerja penyiapan.

    Nama pengguna ini adalah ID internal untuk memudahkan dan hanya dapat dilihat oleh Anda di Firebase console.

  4. Klik Daftarkan aplikasi.

Langkah 4: Tambahkan file konfigurasi Firebase

  1. Klik Download GoogleService-Info.plist untuk mendapatkan file konfigurasi iOS Firebase Anda.

    • Anda dapat mendownload file konfigurasi iOS Firebase lagi kapan saja.
    • Pastikan file konfigurasi tidak ditambahkan dengan karakter tambahan, seperti (2).

  2. Buka project C++ Anda di IDE, lalu tarik file konfigurasi ke root project C++ Anda.

  3. Jika diminta, pilih untuk menambahkan file konfigurasi ke semua target.

  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 berfungsi sebagai contoh cara menambahkan produk Firebase yang didukung ke project C++ Anda. Dalam contoh ini, kita akan membahas cara menambahkan Google Analytics for Firebase.

Menambahkan Google Analytics for Firebase ke project C++ bersifat opsional, tetapi ini adalah cara yang relatif mudah untuk memverifikasi bahwa Firebase berfungsi dengan baik dengan aplikasi Anda. Selain itu, Analytics dapat sangat berguna selama pengembangan dan proses debug, serta membantu melacak keberhasilan aplikasi produksi Anda.

  1. Download Firebase C++ SDK, lalu buka kompresi SDK di tempat yang mudah diakses.

    Firebase C++ SDK tidak khusus platform, tetapi memuat library khusus platform.

  2. Tambahkan pod Firebase dari SDK yang telah dibuka kompresinya.

    1. Buat Podfile jika Anda belum memilikinya:

      cd your-app-directory
      pod init

    2. Tambahkan pod untuk setiap produk Firebase yang ingin digunakan ke Podfile Anda. Untuk Analytics, jalankan:

      pod 'Firebase/Analytics', '5.12.0'

    3. Instal pod, lalu buka file .xcworkspace di Xcode.

      pod install
      open your-app.xcworkspace

  3. Tambahkan framework Firebase dari SDK yang telah dibuka kompresinya.

    Cara termudah untuk menambahkan framework ini adalah dengan menariknya dari jendela Finder langsung ke panel Project Navigator Xcode (secara default, panel paling kiri; atau klik ikon file di kiri atas Xcode).

    1. Tambahkan framework Firebase inti (firebase.framework), yang diwajibkan untuk menggunakan produk Firebase apa pun.

    2. Tambahkan framework untuk setiap produk Firebase yang ingin digunakan. Untuk Analytics, tambahkan firebase_analytics.framework.

  4. Kembali ke Firebase console, di alur kerja penyiapan, klik Berikutnya.

  5. Jalankan aplikasi untuk mengirim verifikasi ke Firebase bahwa Anda telah berhasil mengintegrasikan Firebase.

    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 iOS

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

Produk Firebase Framework dan Pod
Firebase core (wajib)

firebase.framework
  pod 'Firebase/Analytics', '6.1.0'
AdMob

firebase.framework
  firebase_admob.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/AdMob', '6.1.0'
Analytics

firebase.framework
  firebase_analytics.framework
  pod 'Firebase/Analytics', '6.1.0'
Authentication

firebase.framework
  firebase_auth.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/Auth', '6.1.0'
Cloud Functions

firebase.framework
  firebase_functions.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/Functions', '6.1.0'
Cloud Messaging

firebase.framework
  firebase_messaging.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/Messaging', '6.1.0'
Cloud Storage

firebase.framework
  firebase_storage.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/Storage', '6.1.0'
Dynamic Links

firebase.framework
  firebase_dynamic_links.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/DynamicLinks', '6.1.0'
Realtime Database

firebase.framework
  firebase_database.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/Database', '6.1.0'
Remote Config

firebase.framework
  firebase_remote_config.framework
  pod 'Firebase/Analytics', '6.1.0'
  pod 'Firebase/RemoteConfig', '6.1.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. Contohnya, penerimaan notifikasi mengharuskan delegasi aplikasi Anda untuk mengimplementasikan application:didReceiveRemoteNotification:. Karena setiap aplikasi iOS memiliki delegasi aplikasinya sendiri, Firebase menggunakan method swizzling, yang memungkinkan penggantian suatu metode dengan metode lainnya, untuk melampirkan pengendalinya sendiri sebagai tambahan dari pengendali yang telah diimplementasikan.

Library Firebase Invites, Dynamic Links, dan Cloud Messaging harus melampirkan 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 mengganti metode yang diperlukan padanya, sehingga mengikat callback ke implementasi 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 diterapkan dan diuji di perangkat seluler selama proses pengembangan. Untuk mendukung alur kerja ini, kami menyediakan beberapa fitur Firebase C++ SDK yang dapat dijalankan di Windows, OS X, Linux, dan dari dalam editor C++:

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

  2. Buat versi desktop untuk file konfigurasi Firebase:

    • Jika menambahkan file google-services.json Android — Saat Anda menjalankan aplikasi, Firebase akan mencari lokasi file seluler ini, kemudian otomatis membuat file konfigurasi Firebase desktop (google-services-desktop.json).

    • Jika menambahkan file GoogleService-Info.plist iOS — 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 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. Menambahkan 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 Google Analytics for Firebase.

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

    2. Tambahkan konten berikut ke file CMakeLists.txt project Anda, termasuk library untuk produk Firebase yang ingin Anda gunakan. Misalnya, untuk Analytics:

      # Add Firebase libraries to the target using the function from the SDK.
      add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
      
      # The core Firebase library (firebase_app) is required to use any Firebase product,
      # and it must always be listed last.
      set(firebase_libs firebase_analytics 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 sekumpulan fitur sehingga bagian Firebase tertentu dapat digunakan di build desktop tersendiri pada Windows, OS X, dan Linux.

Produk Firebase Referensi library (menggunakan CMake)
Firebase core (wajib) firebase_app
Authentication firebase_auth
Cloud Functions firebase_functions
Cloud Storage firebase_storage
Realtime Database firebase_database
Remote Config firebase_remote_config

Firebase menyediakan library desktop lainnya sebagai implementasi stub (non-fungsional), yang disediakan untuk memudahkan Anda ketika membuat aplikasi untuk Windows, OS X, dan Linux. Oleh karena itu, Anda tidak perlu mengompilasi kode secara bersyarat saat menargetkan desktop.

Desktop Realtime Database

Realtime Database Desktop SDK 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 membuat aplikasi desktop C++ di Windows, tautkan library SDK Windows berikut ke project Anda. Baca dokumentasi compiler untuk informasi lebih lanjut.

Library Firebase C++ Dependensi library Windows SDK
Authentication advapi32, ws2_32, crypt32
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 OS X

Untuk OS X (Darwin), versi library disediakan untuk platform 64-bit (x86_64). Framework juga disediakan untuk kenyamanan Anda.

Perlu diperhatikan bahwa library OS X telah diuji menggunakan Xcode 9.4.1.

Saat membuat aplikasi desktop C++ di OS X, tautkan berikut ini ke project Anda:

  • Library sistem pthread
  • Framework sistem CoreFoundation OS X
  • Framework sistem Foundation OS X
  • Framework sistem Security OS X

Baca dokumentasi compiler untuk 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 membuat aplikasi desktop C++ di Linux, tautkan library sistem pthread ke project Anda. Baca dokumentasi compiler untuk informasi lebih lanjut. Jika Anda membuat aplikasi dengan GCC 5 atau yang lebih baru, tentukan -D_GLIBCXX_USE_CXX11_ABI=0.

Langkah berikutnya