Cloud Storage for Firebase memungkinkan Anda mengunggah dan berbagi konten buatan pengguna, seperti gambar dan video, yang memungkinkan Anda membuat konten multimedia ke dalam aplikasi Anda. Data Anda disimpan di keranjang Google Cloud Storage — solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Cloud Storage for Firebase memungkinkan Anda mengunggah file ini dengan aman langsung dari perangkat seluler dan browser web, menangani jaringan yang bermasalah dengan mudah.
Prasyarat
- Instal SDK Firebase .
- Tambahkan aplikasi Anda ke proyek Firebase di konsol Firebase .
Buat bucket Cloud Storage default
Dari panel navigasi konsol Firebase , pilih Storage , lalu klik Mulai .
Tinjau pesan tentang mengamankan data Cloud Storage Anda menggunakan aturan keamanan. Selama pengembangan, pertimbangkan untuk menyiapkan aturan Anda untuk akses publik .
Pilih lokasi untuk bucket 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, project Anda sudah memiliki lokasi resource GCP default. Itu disetel baik selama pembuatan proyek atau saat menyiapkan layanan lain yang memerlukan pengaturan lokasi.
Jika menggunakan paket Blaze, Anda dapat membuat beberapa keranjang , masing-masing dengan lokasinya sendiri.
Klik Selesai .
Siapkan akses publik
Cloud Storage for Firebase menyediakan bahasa aturan deklaratif yang memungkinkan Anda menentukan struktur data, cara pengindeksan, dan kapan data 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 menyetel Otentikasi , Anda dapat mengonfigurasi aturan untuk akses publik .
Hal ini membuat Cloud Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda, jadi pastikan untuk membatasi Cloud Storage Anda lagi saat menyiapkan autentikasi.
Tambahkan Cloud Storage ke aplikasi Anda
Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.
- Di Xcode, dengan proyek aplikasi Anda terbuka, arahkan ke File > Add Packages .
- Saat diminta, tambahkan repositori SDK platform Apple Firebase:
- Pilih perpustakaan Cloud Storage.
- Setelah selesai, Xcode akan secara otomatis mulai menyelesaikan dan mengunduh dependensi Anda di latar belakang.
https://github.com/firebase/firebase-ios-sdk
Siapkan Cloud Storage
Anda harus menginisialisasi Firebase sebelum referensi Firebase dibuat atau digunakan. Jika sudah melakukannya untuk fitur Firebase lainnya, Anda dapat melewati langkah ini.
- Impor modul
FirebaseCore
diUIApplicationDelegate
Anda, serta modul Firebase lainnya yang digunakan oleh delegasi aplikasi Anda. Misalnya, untuk menggunakan Cloud Firestore dan Authentication:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Cepat
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Konfigurasikan instance bersama
FirebaseApp
dalam metodeapplication(_:didFinishLaunchingWithOptions:)
delegasi aplikasi Anda:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Cepat
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Jika Anda menggunakan SwiftUI, Anda harus membuat delegasi aplikasi dan melampirkannya ke struktur
App
Anda melaluiUIApplicationDelegateAdaptor
atauNSApplicationDelegateAdaptor
. Anda juga harus menonaktifkan swizzling delegasi aplikasi. Untuk informasi selengkapnya, lihat petunjuk SwiftUI .SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Dapatkan referensi ke layanan Cloud Storage, menggunakan Aplikasi Firebase default:
Cepat
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
Anda siap untuk mulai menggunakan Cloud Storage!
Pertama, mari pelajari cara membuat referensi Cloud Storage .
Konfigurasi lanjutan
Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:
- Menggunakan bucket Cloud Storage di beberapa wilayah geografis
- Menggunakan bucket Cloud Storage di kelas penyimpanan yang berbeda
- Menggunakan bucket Cloud Storage dengan beberapa pengguna yang diautentikasi dalam aplikasi yang sama
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 keranjang multiregional atau regional yang menyimpan gambar atau konten lain yang sering diakses, dan keranjang nearline atau coldline yang menyimpan cadangan pengguna atau konten lain yang jarang diakses.
Dalam salah satu kasus penggunaan ini, Anda sebaiknya menggunakan beberapa keranjang Cloud Storage .
Kasus penggunaan ketiga berguna jika Anda membuat aplikasi, seperti Google Drive, yang memungkinkan pengguna memiliki beberapa akun masuk (misalnya, akun pribadi dan akun kerja). Anda dapat menggunakan instance Aplikasi Firebase kustom untuk mengautentikasi setiap akun tambahan.
Gunakan beberapa bucket Cloud Storage
Jika Anda ingin menggunakan bucket Cloud Storage selain yang disediakan di atas, atau menggunakan beberapa bucket Cloud Storage dalam satu aplikasi, Anda dapat membuat instance FIRStorage
yang mereferensikan bucket khusus Anda:
Cepat
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"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 fitur 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
khusus, Anda dapat membuat instance Storage
yang diinisialisasi dengan aplikasi tersebut:
Cepat
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Objective-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
Langkah selanjutnya
Bersiaplah untuk meluncurkan aplikasi Anda:
Aktifkan Pemeriksaan Aplikasi untuk membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses keranjang penyimpanan Anda.
Siapkan peringatan anggaran untuk proyek Anda di Google Cloud Console.
Pantau dasbor Penggunaan dan penagihan di Firebase console untuk mendapatkan gambaran keseluruhan tentang penggunaan proyek Anda di berbagai layanan Firebase. Anda juga dapat mengunjungi dasbor Penggunaan Cloud Storage untuk informasi penggunaan yang lebih mendetail.
Tinjau daftar periksa peluncuran Firebase .