Dukungan Dart eksperimental di Cloud Functions for Firebase memungkinkan Anda membangun aplikasi full stack dengan Flutter dan Dart. Berkomunikasi dengan layanan Firebase lainnya menggunakan Firebase Admin Dart SDK baru.
Untuk mulai menggunakan fungsi Dart, selesaikan tugas penyiapan dalam panduan ini, lalu lanjutkan mempelajari fungsi callable dan HTTP 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 flag --version:
`firebase --version`
Mengaktifkan eksperimen di Firebase CLI
firebase experiments:enable dartfunctions
Melakukan inisialisasi project
Jalankan:
firebase init functionsPilih Dart sebagai bahasa Anda.
Saat ditanya "Do you want to install dependencies now?", jawab "Yes".
Melihat kode fungsi Anda
Lihat kode yang dibuat 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 ke 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 melakukan booting, 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 diemulasikan 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. Alih-alih mengupload kode sumber Anda untuk di-build di Cloud Build, Firebase CLI 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 callable.
- Ikuti codelab Fungsi Dart Codelab Fungsi Dart
- Gunakan Dart Admin SDK eksperimental untuk berinteraksi dengan layanan Firebase lainnya, seperti Cloud Firestore, dari fungsi Anda
- Selain fungsi HTTP
onRequest, Anda dapat mencoba contohonCallatau contohonCalldengan streaming untuk memanggil fungsi langsung dari aplikasi Anda (perhatikan batasan khusus terkait metode pemanggilan).
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 fungsi Anda. - Pemicu lain, seperti pemicu Firestore, dapat dijalankan di local emulator suite, tetapi tidak dapat di-deploy.
- Firebase console tidak menampilkan fungsi Dart selama rilis eksperimental. Anda dapat melihat fungsi Dart di halaman fungsi Cloud Run di Cloud console.
Jika Anda menemukan masalah saat menggunakan fungsi Dart, sebaiknya kirimkan laporan kepada tim untuk membantu kami meningkatkan dan memperluas Dart SDK eksperimental.