Lihat yang baru dari Firebase di Google I/O 2022. Pelajari lebih lanjut

Memahami project Firebase

Halaman ini menyajikan gambaran umum singkat beberapa konsep penting terkait project Firebase. Jika tersedia, ikuti link untuk menemukan informasi lebih lengkap tentang fitur, layanan, alat, dan praktik terbaik.

Hubungan antara project, aplikasi, dan produk Firebase

Project Firebase adalah entity level teratas untuk Firebase. Dalam sebuah project, Anda dapat mendaftarkan aplikasi Apple, Android, atau web Anda. Setelah mendaftarkan aplikasi ke Firebase, Anda dapat menambahkan Firebase SDK untuk sejumlah produk Firebase, seperti Analytics, Cloud Firestore, Performance Monitoring, atau Remote Config.

Pelajari informasi mendetail tentang proses ini lebih lanjut di Panduan Memulai untuk platform Anda:
iOS+ | Android | web | Unity | C++ | Flutter.

Memahami hierarki project Firebase

Diagram yang menunjukkan hierarki dasar project Firebase, termasuk
          project, aplikasi terdaftarnya, serta resource dan layanan
          yang disediakan Diagram ini menunjukkan hierarki dasar project Firebase. Berikut adalah hubungan utamanya:

  • Project Firebase mirip seperti container untuk semua aplikasi Anda, serta resource dan layanan apa pun yang disediakan untuk project tersebut.

  • Project Firebase dapat memiliki satu atau beberapa Aplikasi Firebase yang terdaftar (misalnya, versi iOS dan Android dari suatu aplikasi, atau versi gratis dan berbayar dari aplikasi tersebut).

  • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama akan berbagi dan memiliki akses ke semua resource dan layanan yang sama yang disediakan untuk project tersebut. Berikut beberapa contohnya:

    • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama memiliki backend yang sama, seperti Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage, dan Cloud Functions.

    • Semua Aplikasi Firebase yang terdaftar ke project Firebase yang sama dikaitkan dengan properti Google Analytics yang sama, di mana setiap Aplikasi Firebase merupakan aliran data terpisah di properti tersebut.

Hubungan antara project Firebase dan Google Cloud

Saat membuat project Firebase baru, Anda sebenarnya membuat project Google Cloud di balik layar. Anda bahkan dapat membuat project Google Cloud terlebih dahulu, lalu menambahkan Firebase ke project tersebut nanti. Anda dapat menganggap project Google Cloud sebagai container virtual untuk data, kode, konfigurasi, dan layanan.

Karena project Firebase adalah project Google Cloud:

  • Anda dapat berinteraksi dengan project di Firebase console, di Google Cloud Console, serta di konsol API Google

  • Anda dapat menggunakan produk dan API dari Firebase serta Google Cloud dalam suatu project.

  • Tagihan dan izin untuk suatu project digunakan secara bersama di seluruh Firebase dan Google Cloud.

  • ID unik untuk project (seperti nomor project dan project ID) digunakan bersama di seluruh Firebase dan Google Cloud.

  • Jika sebuah project dihapus, project tersebut akan terhapus di Firebase dan Google Cloud.

Menyiapkan project Firebase dan mendaftarkan aplikasi

Anda dapat menyiapkan project Firebase dan mendaftarkan aplikasi di Firebase console (atau, untuk kasus penggunaan lanjutan, melalui Firebase Management REST API atau Firebase CLI). Saat menyiapkan project dan mendaftarkan aplikasi, Anda harus membuat beberapa keputusan organisasi dan menambahkan informasi konfigurasi khusus Firebase ke project lokal.

Untuk aplikasi produksi, Anda harus menyiapkan alur kerja pengembangan yang jelas, yang biasanya melibatkan penggunaan beberapa lingkungan. Tinjau dokumentasi kami tentang alur kerja developer, termasuk praktik terbaik umum dan pedoman keamanan umum untuk menyiapkan project Firebase dan mendaftarkan aplikasi guna membuat alur kerja pengembangan.

Berinteraksi dengan project Firebase

Selain SDK produk, Anda dapat berinteraksi langsung dengan project Firebase menggunakan beberapa alat dan antarmuka yang berbeda.

Firebase console

Firebase console menawarkan lingkungan terlengkap untuk mengelola produk, aplikasi, dan setelan level project Firebase.

Firebase console - layar ringkasan project

Panel kiri konsol mencantumkan produk Firebase, yang disusun berdasarkan kategori level teratas. Di bagian atas panel kiri, Anda dapat mengakses setelan project dengan mengklik . Setelan project mencakup integrasi, izin akses, dan penagihan.

Bagian tengah konsol menampilkan tombol yang meluncurkan alur kerja penyiapan untuk mendaftarkan berbagai jenis aplikasi. Setelah Anda mulai menggunakan Firebase, area utama konsol akan berubah menjadi dasbor yang menampilkan statistik produk yang Anda gunakan.

Perlu diperhatikan bahwa karena project Firebase juga merupakan project Google Cloud, Anda mungkin mendapati bahwa berbagai tugas atau produk mengharuskan Anda untuk menggunakan Google Cloud Console, bukan Firebase console.

Firebase CLI (alat command-line)

Firebase juga menawarkan Firebase CLI untuk mengonfigurasi dan mengelola produk Firebase tertentu, seperti Firebase Hosting, Cloud Functions for Firebase, dan Firebase Extensions.

Setelah menginstal CLI, Anda memiliki akses ke perintah firebase global. Gunakan CLI untuk menautkan direktori aplikasi lokal ke project Firebase, lalu deploy versi baru konten yang dihosting di Firebase atau versi baru fungsi.

Firebase Management REST API

Dengan Firebase Management REST API, Anda dapat mengelola project Firebase secara terprogram. Misalnya, Anda dapat mendaftarkan aplikasi secara terprogram ke project atau mencantumkan aplikasi yang sudah terdaftar (iOS+ | Android | web).

Project ID Firebase

Project Firebase dapat diidentifikasi di backend Firebase dan di berbagai antarmuka developer menggunakan ID yang berbeda, termasuk nama project, nomor project, dan project ID.

Nama project

Saat membuat project, berikan nama untuk project Anda. ID ini adalah nama khusus internal untuk project di Firebase console, Google Cloud Console, dan Firebase CLI. Nama project tidak ditampilkan di produk, layanan, atau resource Firebase atau Google Cloud yang dapat dilihat secara publik. Nama tersebut hanya berfungsi untuk memudahkan Anda membedakan berbagai project.

Anda dapat mengedit nama project kapan saja di Setelan project pada Firebase console. Nama project ditampilkan di panel atas.

Nomor project

Project Firebase (dan project Google Cloud terkait) memiliki nomor project. Nomor project adalah ID kanonis unik yang ditetapkan Google secara global untuk project. Gunakan ID ini saat mengonfigurasi integrasi dan/atau melakukan panggilan API ke Firebase, Google, atau layanan pihak ketiga.

Anda tidak dapat mengedit nomor project. Jika Anda menghapus suatu project, project ID juga akan terhapus dan tidak akan dapat digunakan lagi oleh project lain.

Project ID

Project Firebase (dan project Google Cloud terkait) memiliki project ID. Ini adalah ID unik buatan pengguna untuk project di seluruh Firebase dan Google Cloud. Saat Anda membuat project Firebase, Firebase otomatis menetapkan ID unik ke project tersebut, tetapi Anda dapat mengeditnya selama penyiapan project. ID ini secara umum harus diperlakukan sebagai alias praktis untuk merujuk project.

Objek dan file konfigurasi Firebase

Saat Anda mendaftarkan aplikasi ke project Firebase, Firebase console akan menyediakan file konfigurasi Firebase (aplikasi Apple/Android) atau objek konfigurasi (aplikasi web) yang Anda tambahkan langsung ke direktori aplikasi lokal.

  • Untuk aplikasi Apple, tambahkan file konfigurasi GoogleService-Info.plist.
  • Untuk aplikasi Android, tambahkan file konfigurasi google-services.json.
  • Untuk aplikasi web, tambahkan objek konfigurasi Firebase.

Anda dapat memperoleh objek atau file konfigurasi Firebase milik aplikasi kapan saja.

Objek atau file konfigurasi Firebase mengaitkan aplikasi dengan project Firebase tertentu beserta resource-nya (database, bucket penyimpanan, dll.). Konfigurasi ini mencakup "opsi Firebase", yang merupakan parameter yang diperlukan oleh layanan Google dan Firebase untuk berkomunikasi dengan API server Firebase serta mengaitkan data klien dengan project Firebase dan aplikasi Firebase. Berikut adalah "opsi Firebase" minimum yang diperlukan:

  • Kunci API: string terenkripsi sederhana yang digunakan saat memanggil API tertentu yang tidak perlu mengakses data pengguna pribadi (contoh nilai: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO)

  • Project ID: ID unik yang ditentukan pengguna untuk project di seluruh Firebase dan Google Cloud. ID ini dapat muncul di URL atau nama beberapa resource Firebase, tetapi secara umum harus diperlakukan sebagai alias demi kemudahan untuk merujuk project. (contoh nilai: myapp-project-123)

  • ID Aplikasi ("AppID"): ID unik untuk aplikasi Firebase di seluruh Firebase dengan format khusus platform:

    • Aplikasi Apple Firebase: GOOGLE_APP_ID (contoh nilai: 1:1234567890:ios:321abc456def7890)
      Ini bukan ID Paket Apple.
    • Aplikasi Android Firebase: mobilesdk_app_id (nilai contoh: 1:1234567890:android:321abc456def7890)
      Ini bukan ID aplikasi Android atau nama paket Android.
    • Aplikasi Web Firebase: appId (contoh nilai: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c)

Konten file atau objek konfigurasi Firebase dianggap publik, termasuk ID khusus platform aplikasi (ID paket Apple atau nama paket Android) dan nilai khusus project Firebase, seperti Kunci API, project ID, URL Realtime Database, dan nama bucket Cloud Storage. Oleh karena itu, gunakan Aturan Keamanan Firebase untuk melindungi data dan file Anda di Realtime Database, Cloud Firestore, dan Cloud Storage.

Untuk project open source, secara umum kami tidak merekomendasikan penyertaan objek atau file konfigurasi Firebase aplikasi dalam kontrol sumber karena, dalam sebagian besar kasus, pengguna harus membuat project Firebase-nya sendiri dan mengarahkan aplikasinya ke resource Firebase mereka sendiri (melalui objek atau file konfigurasi Firebase).

Batas umum untuk project, aplikasi, dan situs Firebase

Berikut ini beberapa batasan umum untuk project, aplikasi, dan situs Firebase:

  • Jumlah project per akun

    • Paket harga Spark — Kuota pembuatan project dibatasi cukup sedikit (biasanya sekitar 5-10).
    • Paket harga Blaze - Kuota pembuatan project per akun meningkat secara signifikan selama akun Penagihan Cloud yang terkait memiliki reputasi baik.

    Batas kuota pembuatan project jarang menjadi perhatian sebagian besar developer, tetapi jika diperlukan, Anda dapat meminta penambahan kuota project.

    Perlu diperhatikan bahwa penghapusan project secara menyeluruh memerlukan waktu 30 hari, dan memengaruhi hitungan kuota project hingga project sepenuhnya dihapus.

  • Jumlah aplikasi per project

    Firebase membatasi jumlah total Aplikasi Firebase dalam project Firebase sebanyak 30.

    Anda harus memastikan bahwa semua Aplikasi Firebase dalam satu project Firebase merupakan varian platform untuk aplikasi yang sama berdasarkan perspektif pengguna akhir. Baca selengkapnya tentang multi-tenancy di dokumen praktik terbaik kami.

    Pelajari batas aplikasi per project lebih lanjut di FAQ.

  • Jumlah situs Hosting per project

    Fitur multisitus Firebase Hosting mendukung maksimum 36 situs per project.

Meluncurkan aplikasi