Dukungan Dart eksperimental di Cloud Functions for Firebase memungkinkan Anda membangun aplikasi full stack dengan Flutter dan Dart. Berkomunikasi dengan layanan Firebase lainnya menggunakan Admin Dart SDK Firebase yang baru.
Untuk mulai menggunakan fungsi Dart, selesaikan tugas penyiapan dalam panduan ini, lalu lanjutkan dengan menjelajahi fungsi HTTP dan fungsi yang dapat dipanggil Dart.
Prasyarat
- Dart SDK 3.9 atau yang lebih tinggi
- Firebase CLI (versi 15.15.0 atau yang lebih baru)
Pastikan Anda memiliki versi Firebase CLI yang mendukung Dart di
Cloud Functions for Firebase dengan tanda --version:
`firebase --version`
Aktifkan eksperimen di Firebase CLI
firebase experiments:enable dartfunctions
Melakukan inisialisasi project
- Jalankan:
bash firebase init functions - Pilih Dart sebagai bahasa Anda.
- Saat ditanya "Do you want to install dependencies now?", jawab "Yes".
Melihat kode fungsi Anda
Lihat kode yang dihasilkan di functions/bin/server.dart (atau titik
entri Anda). Kode ini menunjukkan fungsi HTTP sederhana.
Perhatikan bahwa kode contoh menetapkan jumlah maksimum instance untuk fungsi
helloWorld menjadi 10 dengan konstruktor HttpsOptions. Anda dapat mempelajari lebih lanjut opsi runtime di Menetapkan opsi runtime.
Menguji secara lokal
firebase emulators:start
Setelah Local Emulator Suite di-boot, Anda akan melihat baris log seperti functions http function initialized
(http://127.0.0.1:5001/<url>). Muat URL tersebut di browser Anda untuk memanggil fungsi Dart yang diemulasi secara lokal.
Jika Anda mengedit kode Dart, Firebase Local Emulator Suite akan mendeteksi perubahan dan otomatis memuat ulang fungsi Anda.
Deploy
firebase deploy --only functions
Proses deployment untuk Dart berbeda dengan fungsi Node.js atau Python. Daripada mengupload kode sumber untuk dibangun di Cloud Build, CLI Firebase menjalankan langkah kompilasi Dart di mesin pengembangan Anda dan mengupload biner yang dihasilkan langsung ke fungsi Cloud Run.
Setelah deployment selesai, Anda akan melihat baris log seperti Function URL
(hello-world(us-central1)): https://hello-world-<random-hash>.<region>.run.app
Muat URL tersebut di browser Anda untuk memanggil fungsi Dart yang baru di-deploy.
Langkah berikutnya
- Tetapkan opsi konfigurasi seperti instance minimum.
- Pelajari lebih lanjut fungsi HTTP dan fungsi yang dapat dipanggil.
- Ikuti codelab Dart Functions Dart Functions codelab
- Gunakan Dart Admin SDK eksperimental untuk berinteraksi dengan layanan Firebase lainnya, seperti Cloud Firestore, dari fungsi Anda
- Selain fungsi HTTP
onRequest, Anda dapat mencoba contohonCallatauonCalldengan streaming untuk memanggil fungsi langsung dari aplikasi Anda (perhatikan batasan khusus terkait metode panggilan).
Keterbatasan
- Pemicu
onCalldapat di-deploy, tetapi tidak dapat dipanggil dari SDK klien dengan metode seperti httpsCallable, yang mengidentifikasi fungsi berdasarkan nama. Sebagai gantinya, Anda dapat menggunakan metode seperti httpsCallableFromURL dan meneruskan URL Cloud Run lengkap dari fungsi Anda. - Pemicu lain, seperti pemicu Firestore, dapat dijalankan di suite emulator lokal, tetapi tidak dapat di-deploy.
- Konsol Firebase tidak menampilkan fungsi Dart selama rilis eksperimental. Anda dapat melihat fungsi Dart di halaman Cloud Run functions di konsol Cloud.
Jika Anda menemukan masalah saat menggunakan fungsi Dart, sebaiknya kirimkan laporan kepada tim untuk membantu kami meningkatkan kualitas dan memperluas SDK Dart eksperimental.