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:
- Memberi tahu pengguna jika ada sesuatu yang menarik.
- Melakukan pembersihan dan pemeliharaan database.
- Menjalankan tugas intensif di cloud, bukan di aplikasi Anda.
- Melakukan integrasi dengan API dan layanan pihak ketiga.
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.
- Fungsi ini dipicu saat ada peristiwa tulis ke jalur Realtime Database yang digunakan untuk menyimpan pengikut.
- Fungsi menulis pesan untuk dikirim melalui FCM.
- FCM mengirimkan pesan notifikasi ke perangkat pengguna.
Untuk meninjau kode yang sedang berjalan, lihat Mengirim notifikasi FCM.
Kasus penggunaan notifikasi lain yang menarik
- Mengirim email konfirmasi kepada pengguna yang berlangganan/berhenti berlangganan newsletter.
- Mengirim email sambutan saat pengguna selesai mendaftar.
- Mengirim konfirmasi melalui SMS saat pengguna membuat akun baru.
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:
- Pengendali peristiwa database pada fungsi memproses peristiwa tulis di jalur tertentu, kemudian mengambil data peristiwa yang berisi teks pesan chat.
- Fungsi memproses teks untuk mendeteksi dan menghapus kata-kata yang tidak pantas.
- 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
- Menghapus permanen konten pengguna yang telah dihapus dari Realtime Database.
- Membatasi jumlah node turunan di database Firebase.
- Melacak jumlah elemen di daftar Realtime Database.
- Menyalin data dari Realtime Database ke Google Cloud BigQuery.
- Mengonversi teks menjadi emoji.
- Mengelola metadata yang dihitung untuk record 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.
- Fungsi terpicu saat file gambar diupload ke Cloud Storage.
- Fungsi mendownload gambar dan membuat versi thumbnailnya.
- Fungsi menuliskan lokasi thumbnail ke database, sehingga aplikasi klien dapat menemukan dan menggunakannya.
- Fungsi mengupload thumbnail kembali ke Cloud Storage di lokasi baru.
- Aplikasi mendownload link thumbnail.
Untuk mendapatkan panduan tentang contoh pemrosesan gambar, lihat Menangani Peristiwa Storage.
Contoh tugas batch lain di Firebase cloud
- Menghapus secara berkala akun Firebase yang tidak digunakan.
- Memoderasi secara otomatis gambar yang diupload.
- Mengirim email massal ke pengguna.
- Mengumpulkan dan merangkum data secara berkala.
- Memproses antrean tugas yang tertunda.
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.
- Pengguna mengirim commit ke repo GitHub.
- Fungsi HTTPS terpicu melalui API webhook GitHub.
- Fungsi mengirimkan notifikasi commit ke saluran Slack tim.
Cara lain untuk terintegrasi dengan API dan layanan pihak ketiga
- Menggunakan Google Cloud Vision API untuk menganalisis dan memberi tag pada gambar yang diupload.
- Menerjemahkan pesan menggunakan Google Terjemahan.
- Menggunakan penyedia autentikasi, seperti LinkedIn atau Instagram, untuk memproses login pengguna.
- Mengirim permintaan ke webhook di penulisan Realtime Database.
- Mengaktifkan penelusuran teks lengkap pada elemen Realtime Database.
- Memproses pembayaran dari pengguna.
- Membuat respons otomatis untuk panggilan telepon dan pesan SMS.
- Membuat chatbot dengan Asisten Google.