Cloud Functions memungkinkan developer mengakses 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 kode contoh di GitHub:
- Node.js: fcm-notifications
- Python: fcm-notifications
Kasus penggunaan notifikasi lain yang menarik
- Mengirim email konfirmasi kepada pengguna yang 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 tetap dalam status yang Anda inginkan. Misalnya, Anda dapat memantau peristiwa tulis dan mengubah format (misalnya, mengubah ke semua huruf besar) string tertentu dalam pesan pengguna. Begini cara kerjanya:
- Penangan peristiwa database pada fungsi mendeteksi peristiwa tulis di lokasi tertentu, kemudian mengambil data peristiwa yang berisi teks pesan.
- Fungsi ini memproses teks untuk mengubah string menjadi huruf besar.
- Fungsi menuliskan kembali teks yang telah diperbarui ke database.
Untuk meninjau kode yang sedang berjalan, lihat kode contoh di GitHub:
- Node.js: uppercase-rtdb
- Python: uppercase-rtdb
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
Anda dapat memanfaatkan Cloud Functions untuk memindahkan tugas ber-resource besar (CPU atau jaringan berat) ke cloud Google, bukan menjalankannya di perangkat pengguna, sehingga meningkatkan responsivitas aplikasi Anda. 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 dengan alat seperti sharp atau Pillow.
- 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 panduan untuk menangani peristiwa Cloud Storage.
Contoh tugas batch lain di Firebase cloud
- Menghapus secara berkala akun Firebase yang tidak digunakan Node.js | Python.
- Mencadangkan gambar yang diupload secara otomatis Node.js | Python.
- 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 autentikasi kustom 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.