Apa yang bisa Anda lakukan dengan Cloud Functions?

Cloud Functions memberi developer akses ke peristiwa Firebase dan Google Cloud, beserta daya komputasi yang skalabel untuk menjalankan kode sebagai respons terhadap peristiwa tersebut. Meskipun Cloud Functions pada aplikasi Firebase kemungkinan akan bekerja secara unik untuk memenuhi kebutuhan aplikasi yang juga unik, kasus penggunaan yang umum terjadi adalah sebagai berikut:

Tinjau contoh dan kasus penggunaan untuk setiap kategori yang Anda minati, lalu lanjutkan ke tutorial Memulai atau panduan cara kerja khusus tentang peristiwa autentikasi, peristiwa analisis, dan panduan lainnya.

Memberi tahu pengguna jika ada sesuatu yang menarik

Developer dapat menggunakan Cloud Functions untuk mempertahankan interaksi pengguna dan memberikan informasi terbaru yang relevan tentang suatu aplikasi kepada pengguna. Misalnya, bayangkan suatu aplikasi yang memungkinkan penggunanya mengikuti aktivitas sesama pengguna aplikasi. Setiap kali pengguna menambahkan dirinya sendiri sebagai pengikut pengguna lain, peristiwa tulis akan terjadi di Realtime Database. Kemudian, peristiwa tulis ini dapat memicu fungsi untuk membuat notifikasi Firebase Cloud Messaging (FCM) yang akan memberi tahu pengguna terkait bahwa mereka memiliki pengikut baru.

Diagram yang menunjukkan alur aplikasi dijelaskan di bawah

  1. Fungsi ini dipicu saat ada peristiwa tulis ke jalur Realtime Database yang digunakan untuk menyimpan pengikut.
  2. Fungsi menulis pesan untuk dikirim melalui FCM.
  3. FCM mengirimkan pesan notifikasi ke perangkat pengguna.

Untuk meninjau kode yang sedang berjalan, lihat Mengirim notifikasi FCM.

Kasus penggunaan notifikasi lain yang menarik

Melakukan pembersihan dan pemeliharaan database

Dengan penanganan peristiwa database Cloud Functions, Anda dapat memodifikasi Realtime Database atau Cloud Firestore sebagai respons terhadap perilaku pengguna, sehingga sistem selalu dalam kondisi terbaru dan bersih. Misalnya, di aplikasi ruang chat, Anda dapat memantau peristiwa tulis dan menghapus teks pesan pengguna yang tidak pantas atau tidak senonoh. Begini cara kerjanya:

Diagram yang menunjukkan alur aplikasi dijelaskan di bawah

  1. Pengendali peristiwa database pada fungsi memproses peristiwa tulis di jalur tertentu, kemudian mengambil data peristiwa yang berisi teks pesan chat.
  2. Fungsi memproses teks untuk mendeteksi dan menghapus kata-kata yang tidak pantas.
  3. Fungsi menuliskan kembali teks yang telah diperbarui ke database.

Untuk meninjau kode yang sedang berjalan, lihat contoh Moderasi Teks. Contoh ini membersihkan kata-kata yang tidak sopan serta "teriakan" berhuruf besar dalam pesan chat.

Kasus penggunaan lain untuk pembersihan dan pemeliharaan database

Menjalankan tugas intensif di cloud, bukan di aplikasi Anda

Developer dapat memanfaatkan Cloud Functions untuk memindahkan tugas ber-resource besar (CPU atau jaringan berat) yang akan sulit dijalankan di perangkat pengguna, ke cloud Google. Misalnya, Anda dapat menulis fungsi untuk memproses upload gambar ke Cloud Storage, mendownload gambar ke instance yang menjalankan fungsi, memodifikasinya, dan menguploadnya kembali ke Cloud Storage. Anda dapat mengubah ukuran, memangkas, atau mengonversi gambar. Alat command line ImageMagick tersedia untuk digunakan bersama dengan Cloud Functions agar memudahkan tugas ini.

Diagram yang menunjukkan alur aplikasi dijelaskan di bawah

  1. Fungsi terpicu saat file gambar diupload ke Cloud Storage.
  2. Fungsi mendownload gambar dan membuat versi thumbnailnya.
  3. Fungsi menuliskan lokasi thumbnail ke database, sehingga aplikasi klien dapat menemukan dan menggunakannya.
  4. Fungsi mengupload thumbnail kembali ke Cloud Storage di lokasi baru.
  5. Aplikasi mendownload link thumbnail.

Untuk mendapatkan panduan tentang contoh pemrosesan gambar, lihat Menangani Peristiwa Storage.

Contoh tugas batch lain di Firebase cloud

Melakukan integrasi dengan API dan layanan pihak ketiga

Cloud Functions dapat membantu aplikasi Anda bekerja lebih baik dengan layanan lainnya, dengan cara memanggil dan menampilkan API web. Misalnya, aplikasi yang digunakan untuk kolaborasi dalam pengembangan dapat memposting commit GitHub ke ruang chat workgroup.

Diagram yang menunjukkan alur aplikasi dijelaskan di bawah

  1. Pengguna mengirim commit ke repo GitHub.
  2. Fungsi HTTPS terpicu melalui API webhook GitHub.
  3. Fungsi mengirimkan notifikasi commit ke saluran Slack tim.

Cara lain untuk terintegrasi dengan API dan layanan pihak ketiga