Dukungan Dart eksperimental di Cloud Functions for Firebase memungkinkan Anda membuat aplikasi full stack dengan Flutter dan Dart. Berkomunikasi dengan layanan Firebase lainnya menggunakan Admin Dart SDK Firebasebaru.
Untuk mulai menggunakan fungsi Dart, selesaikan tugas penyiapan dalam panduan ini, lalu lanjutkan menjelajahi fungsi HTTP dan callable Dart.
Prasyarat
- Dart SDK 3.9 atau yang lebih tinggi
- Firebase CLI (versi 15.15.0 atau yang lebih tinggi)
Pastikan Anda memiliki versi Firebase CLI yang mendukung Dart di
Cloud Functions for Firebase dengan tanda --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 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
opsi runtime lebih lanjut di Menetapkan opsi runtime.
Menguji secara lokal
firebase emulators:start
Setelah Local Emulator Suite di-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 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. Firebase CLI menjalankan langkah kompilasi Dart di mesin pengembangan Anda dan mengupload biner yang dihasilkan langsung ke Cloud Run fungsi, bukan mengupload kode sumber Anda untuk dibuat di Cloud Build.Firebase
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
- Menetapkan opsi konfigurasi seperti instance minimum.
- Mempelajari fungsi HTTP dan fungsi callable lebih lanjut.
- Mengikuti codelab Fungsi Dart codelab Fungsi Dart
- Menggunakan Dart Admin SDK eksperimental untuk berinteraksi dengan layanan Firebase lainnya, seperti Cloud Firestore, dari fungsi Anda
- Selain fungsi HTTP
onRequest, Anda dapat mencoba contohonCallatauonCalldengan contoh streaming untuk memanggil fungsi langsung dari aplikasi Anda (dengan memperhatikan batasan khusus terkait metode panggilan).
Batasan
- 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 lainnya, seperti pemicu Firestore, dapat dijalankan di local emulator suite, tetapi tidak dapat di-deploy.
- Konsol Firebase tidak menampilkan fungsi Dart selama rilis eksperimental. Sebagai gantinya, Anda dapat melihat fungsi Dart di halaman fungsi Cloud Run di konsol Cloud.
Jika Anda menemukan masalah saat menggunakan fungsi Dart, sebaiknya kirimkan laporan kepada tim untuk membantu kami meningkatkan dan memperluas Dart SDK eksperimental.