Firebase Extensions

Firebase Extensions membantu Anda men-deploy fungsi ke aplikasi dengan cepat menggunakan solusi yang telah dikemas sebelumnya.

Setelah diinstal, Firebase Extension menjalankan tugas atau serangkaian tugas tertentu sebagai respons terhadap permintaan HTTPS, peristiwa Cloud Scheduler, atau peristiwa pemicu dari produk Firebase lainnya, seperti Cloud Firestore atau Firebase Cloud Messaging.

Jelajahi Extensions Hub Pelajari cara menginstal ekstensi Pelajari cara mem-build ekstensi Anda sendiri


Kemampuan utama

Mengurangi waktu yang diperlukan untuk pengembangan, pemeliharaan, dan pertumbuhan

Karena ekstensi adalah solusi terpaket, Anda hanya perlu menginstal dan mengonfigurasinya.

Dengan ekstensi, Anda tidak perlu menghabiskan waktu untuk meneliti, menulis, dan men-debug kode yang mengimplementasikan fungsi atau mengotomatiskan tugas untuk aplikasi atau project Anda.

Pelajari Extensions Hub untuk menemukan solusi bagi aplikasi atau project Anda.

Dibuat agar dapat dikonfigurasi dan digunakan kembali

Setiap instance yang terinstal dari sebuah ekstensi bersifat unik.

Anda menentukan nilai konfigurasi untuk ekstensi yang bersifat unik bagi aplikasi, project, atau kasus penggunaan Anda. Bergantung pada fungsi ekstensinya, nilai ini bisa berupa apa saja: jalur Cloud Firestore, dimensi gambar, atau URL GitHub.

Anda dapat menggunakan kembali ekstensi yang sama dalam project berbeda. Anda bahkan dapat menginstal beberapa instance ekstensi yang sama dalam satu project. Setiap instance yang diinstal dapat memiliki konfigurasi yang disesuaikan sendiri.

Mengintegrasikan platform Firebase

Ekstensi dapat melengkapi arsitektur yang sudah ada.

Ekstensi dapat merespons peristiwa yang dihasilkan oleh produk Firebase yang sudah Anda gunakan di aplikasi. Perubahan dalam satu produk Firebase dapat memicu ekstensi untuk melakukan tugasnya, bahkan tugas yang menggunakan produk lain. Misalnya, Realtime Database khusus yang menulis dapat memicu pengiriman notifikasi Firebase Cloud Messaging baru.

Ekstensi juga dapat mengintegrasikan project Firebase Anda dengan produk Google Cloud Platform lainnya (seperti BigQuery dan Google Terjemahan) atau bahkan layanan pihak ketiga (seperti Mailchimp dan Bit.ly).

Dan peristiwa pemicu tidak terbatas pada peristiwa Firebase; Anda bahkan dapat memicu ekstensi secara langsung dengan permintaan HTTP, atau pada interval terjadwal.

Keamanan dan akses terbatas

Logika aplikasi untuk ekstensi berjalan di backend, menggunakan Google Cloud Functions, sehingga kode terpisah sepenuhnya dari klien.

Selain itu, ekstensi itu sendiri terpisah dari bagian lain dalam project Anda, karena ekstensi yang diinstal diberi akses terbatas hanya ke resource dan data yang tercantum dengan jelas sebelum penginstalan.

Tak perlu pemeliharaan

Instal dan konfigurasi ekstensi untuk project Firebase Anda. Setelah itu, backend akan otomatis menskalakan resource komputasi naik dan turun agar sesuai dengan kebutuhan ekstensi Anda.

Anda tidak perlu memikirkan kredensial, konfigurasi server, penyediaan server baru, atau penonaktifan server lama.

Bagaimana cara kerjanya?

Pada intinya, Firebase Extension adalah kode yang menjalankan tugas setiap kali peristiwa yang ditetapkan secara khusus terjadi dalam aplikasi atau project Anda.

Logika ekstensi ditulis menggunakan Cloud Functions for Firebase Fungsi pada ekstensi menentukan penyedia peristiwa dan kondisi yang memicu eksekusi (misalnya penulisan Cloud Firestore, permintaan HTTPS, atau peristiwa Cloud Scheduler).

Meskipun ekstensi menggunakan fungsi, fitur pembeda utama antara ekstensi dan fungsi adalah ekstensi mengandalkan file spesifikasi extension.yaml, yang secara eksplisit menentukan:

  • Layanan Google (API) yang akan digunakan oleh ekstensi
  • Peran akses yang diperlukan ekstensi untuk beroperasi
  • Resource khusus ekstensi yang diperlukan ekstensi untuk beroperasi
  • Parameter yang dapat dikonfigurasi untuk ekstensi

Anda dapat menginstal ekstensi di project beberapa kali, dengan konfigurasi yang berbeda untuk masing-masing instance yang diinstal.

Saat Anda menginstal instance ekstensi, Firebase akan melakukan hal-hal berikut:

  1. Meminta Anda menentukan nilai konfigurasi (parameter) yang diperlukan agar digunakan untuk instance ekstensi ini.
  2. Mengaktifkan API yang tercantum dari file extension.yaml untuk project.
  3. Membuat akun layanan baru yang akan digunakan oleh instance ekstensi ini, dan menetapkannya dengan peran akses yang tercantum. Instance ekstensi mengeksekusi kodenya menggunakan akses yang diberikan ke akun layanan ini.
  4. Menyediakan resource yang tercantum untuk instance ekstensi (misalnya, fungsi).

Perhatikan bahwa setiap instance ekstensi yang terinstal memiliki akun layanannya sendiri dan resource yang disediakan secara terpisah.

Selain file extension.yaml, direktori ekstensi juga mencakup file petunjuk, seperti README, yang berisi informasi untuk membantu Anda menyelesaikan tugas konfigurasi lebih lanjut atau menggunakan ekstensi secara umum.

Setelah penginstalan, Anda dapat mengonfigurasi ulang ekstensi (menentukan parameter value baru) dan mengupdate ekstensi ke versi yang lebih baru. Anda juga dapat meng-uninstal ekstensi dari project kapan saja.

Baik Firebase CLI maupun Firebase console memungkinkan Anda menginstal, melihat, dan mengelola ekstensi.

Alur implementasi

Menemukan ekstensi

Pelajari ekstensi yang tersedia di Extensions Hub.

Mengevaluasi, menginstal, dan mengonfigurasi ekstensi

Saat menemukan ekstensi yang memenuhi kebutuhan di aplikasi atau project, Anda dapat mengevaluasi ekstensi tersebut dengan emulator Extensions, lalu menginstal ekstensi tersebut melalui Firebase console atau Firebase CLI.

Konfigurasi ekstensi tersebut agar sesuai dengan aplikasi atau project Anda.

Mengelola ekstensi

Lihat dan kelola ekstensi yang telah diinstal menggunakan Firebase console atau Firebase CLI.

Langkah berikutnya