Memulai Penyimpanan Cloud di Flutter

Cloud Storage for Firebase memungkinkan Anda mengunggah dan berbagi konten yang dibuat pengguna, seperti gambar dan video, yang memungkinkan Anda membuat konten multimedia ke dalam aplikasi Anda. Data Anda disimpan dalam keranjang Google Cloud Storage — solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Cloud Storage for Firebase memungkinkan Anda dengan aman mengunggah file-file ini langsung dari perangkat seluler dan browser web, menangani jaringan yang tidak stabil dengan mudah.

Prasyarat

Instal dan inisialisasi SDK Firebase untuk Flutter jika Anda belum melakukannya.

Buat keranjang Cloud Storage default

  1. Dari panel navigasi Firebase console , pilih Storage , lalu klik Mulai .

  2. Tinjau pesan tentang mengamankan data Cloud Storage Anda menggunakan aturan keamanan. Selama pengembangan, pertimbangkan untuk menyiapkan aturan Anda untuk akses publik .

  3. Pilih lokasi untuk keranjang Cloud Storage default Anda.

    • Setelan lokasi ini adalah lokasi resource Google Cloud Platform (GCP) default project Anda . Perhatikan bahwa lokasi ini akan digunakan untuk layanan GCP di project Anda yang memerlukan setelan lokasi, khususnya, database Cloud Firestore dan aplikasi App Engine Anda (yang diperlukan jika Anda menggunakan Cloud Scheduler).

    • Jika Anda tidak dapat memilih lokasi, berarti project Anda sudah memiliki lokasi resource GCP default. Itu disetel selama pembuatan proyek atau saat menyiapkan layanan lain yang memerlukan pengaturan lokasi.

    Jika Anda menggunakan paket Blaze, Anda dapat membuat beberapa ember , masing-masing dengan lokasinya sendiri .

  4. Klik Selesai .

Siapkan akses publik

Cloud Storage for Firebase menyediakan bahasa aturan deklaratif yang memungkinkan Anda menentukan bagaimana data Anda harus terstruktur, bagaimana data itu harus diindeks, dan kapan data Anda dapat dibaca dan ditulis. Secara default, akses baca dan tulis ke Cloud Storage dibatasi sehingga hanya pengguna yang diautentikasi yang dapat membaca atau menulis data. Untuk memulai tanpa menyiapkan Firebase Authentication , Anda dapat mengonfigurasi aturan untuk akses publik .

Ini membuat Cloud Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda, jadi pastikan untuk membatasi Cloud Storage lagi saat Anda menyiapkan autentikasi.

Tambahkan Cloud Storage SDK ke aplikasi Anda

  1. Dari root proyek Flutter Anda, jalankan perintah berikut untuk menginstal plugin:

    flutter pub add firebase_storage
    
  2. Setelah selesai, bangun kembali aplikasi Flutter Anda:

    flutter run
    
  3. Impor plugin dalam kode Dart Anda:

    import 'package:firebase_storage/firebase_storage.dart';
    

Siapkan Penyimpanan Cloud

Langkah pertama dalam mengakses bucket Cloud Storage Anda adalah membuat instance FirebaseStorage :

final storage = FirebaseStorage.instance;

Anda siap untuk mulai menggunakan Cloud Storage!

Pertama, mari kita pelajari cara membuat referensi Cloud Storage .

Konfigurasi lanjutan

Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:

Kasus penggunaan pertama sempurna jika Anda memiliki pengguna di seluruh dunia, dan ingin menyimpan data mereka di dekat mereka. Misalnya, Anda dapat membuat keranjang di AS, Eropa, dan Asia untuk menyimpan data bagi pengguna di wilayah tersebut guna mengurangi latensi.

Kasus penggunaan kedua berguna jika Anda memiliki data dengan pola akses yang berbeda. Misalnya: Anda dapat menyiapkan bucket multi-regional atau regional yang menyimpan gambar atau konten lain yang sering diakses, dan bucket nearline atau coldline yang menyimpan cadangan pengguna atau konten lain yang jarang diakses.

Dalam salah satu kasus penggunaan ini, Anda sebaiknya menggunakan beberapa bucket Cloud Storage .

Kasus penggunaan ketiga berguna jika Anda membuat aplikasi, seperti Google Drive, yang memungkinkan pengguna memiliki beberapa akun yang masuk (misalnya, akun pribadi dan akun kerja). Anda dapat menggunakan instance Aplikasi Firebase khusus untuk mengautentikasi setiap akun tambahan.

Gunakan beberapa bucket Cloud Storage

Jika Anda ingin menggunakan bucket Cloud Storage selain dari default yang disediakan di atas, atau menggunakan beberapa bucket Cloud Storage dalam satu aplikasi, Anda dapat membuat instance FirebaseStorage yang mereferensikan bucket kustom Anda:

// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "gs://my-custom-bucket");

Bekerja dengan ember yang diimpor

Saat mengimpor bucket Cloud Storage yang ada ke Firebase, Anda harus memberi Firebase kemampuan untuk mengakses file ini menggunakan alat gsutil , yang disertakan dalam Google Cloud SDK :

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://YOUR-CLOUD-STORAGE-BUCKET

Anda dapat menemukan nomor proyek Anda seperti yang dijelaskan dalam pengantar proyek Firebase .

Ini tidak memengaruhi bucket yang baru dibuat, karena bucket tersebut memiliki kontrol akses default yang disetel untuk mengizinkan Firebase. Ini adalah tindakan sementara, dan akan dilakukan secara otomatis di masa mendatang.

Gunakan Aplikasi Firebase khusus

Jika Anda membuat aplikasi yang lebih rumit menggunakan FirebaseApp kustom, Anda dapat membuat instance FirebaseStorage yang diinisialisasi dengan aplikasi tersebut:

// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);

Langkah selanjutnya