Dengan Cloud Storage for Firebase, Anda dapat mengupload dan membagikan konten buatan pengguna, seperti gambar dan video, sehingga Anda dapat memperkaya aplikasi dengan konten multimedia. Data Anda disimpan dalam bucket Google Cloud Storage, yakni solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Dengan Cloud Storage for Firebase, Anda dapat mengupload file tersebut secara langsung dari perangkat seluler dan browser web dengan aman, sehingga masalah jaringan yang kurang stabil dapat ditangani dengan mudah.
Sebelum memulai
Jika belum melakukannya, pastikan Anda telah menyelesaikan panduan memulai untuk aplikasi platform Apple. Hal ini mencakup:
Membuat project Firebase.
Mendaftarkan aplikasi platform Apple ke project, dan menghubungkan aplikasi ke Firebase dengan menambahkan library Firebase dan file konfigurasi Firebase (
GoogleService-Info.plist
) ke aplikasi.
Pastikan project Firebase Anda menggunakan paket harga Blaze bayar sesuai penggunaan. Jika Anda baru menggunakan Firebase dan Google Cloud, periksa apakah Anda memenuhi syarat untuk mendapatkan kredit sebesar $300.
Membuat bucket Cloud Storage default
Dari panel navigasi Firebase console, pilih Storage.
Jika project Anda belum menggunakan paket harga Blaze bayar sesuai penggunaan, Anda akan diminta untuk mengupgrade project.
Klik Get started.
Pilih lokasi untuk bucket default Anda.
Bucket di
,US-CENTRAL1
, danUS-EAST1
dapat memanfaatkan paket "Selalu Gratis" untuk Google Cloud Storage. Bucket di semua lokasi lainnya mengikuti harga dan penggunaan Google Cloud Storage.US-WEST1
Jika ingin, Anda dapat membuat beberapa bucket nanti, masing-masing dengan lokasinya sendiri.
Konfigurasi Firebase Security Rules untuk bucket default Anda. Selama pengembangan, sebaiknya siapkan aturan Anda untuk akses publik.
Klik Done.
Sekarang Anda dapat melihat bucket di tab File Cloud Storage di Firebase console. Format nama bucket default Anda adalah PROJECT_ID.firebasestorage.app
Menyiapkan akses publik
Cloud Storage for Firebase menyediakan bahasa aturan deklaratif sehingga Anda dapat menentukan cara data disusun, diindeks, serta kapan dapat membaca dan menulis data tersebut. Secara default, akses baca dan tulis pada Cloud Storage dibatasi, sehingga hanya pengguna terautentikasi yang dapat membaca atau menulis data. Untuk memulai tanpa menyiapkan Authentication, Anda dapat mengonfigurasi aturan untuk akses publik.
Tindakan ini membuat Cloud Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda. Oleh sebab itu, pastikan Anda membatasi Cloud Storage kembali saat menyiapkan autentikasi.
Menambahkan Cloud Storage ke aplikasi Anda
Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.
- Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Packages.
- Saat diminta, tambahkan repositori SDK platform Apple Firebase:
- Pilih library Cloud Storage.
- Tambahkan flag
-ObjC
ke bagian Other Linker Flags pada setelan build target Anda. - Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.
https://github.com/firebase/firebase-ios-sdk.git
Menyiapkan Cloud Storage di aplikasi Anda
Lakukan inisialisasi Firebase sebelum membuat atau menggunakan referensi Firebase.
Anda mungkin telah melakukan langkah ini jika sudah menyiapkan produk Firebase lain, tetapi Anda harus memastikan untuk menambahkan library
FirebaseStorage
ke daftar impor.Impor modul
FirebaseCore
dan modulFirebaseStorage
diUIApplicationDelegate
Anda. Sebaiknya tambahkan jugaFirebaseAuth
.SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...
Konfigurasi instance bersama
FirebaseApp
di metodeapplication(_:didFinishLaunchingWithOptions:)
delegasi aplikasi Anda:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
(Khusus SwiftUI) Buat delegasi aplikasi dan lampirkan ke struct
App
menggunakanUIApplicationDelegateAdaptor
atauNSApplicationDelegateAdaptor
. Anda juga harus menonaktifkan swizzling delegasi aplikasi. Untuk mengetahui informasi lebih lanjut, baca 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.
Pastikan file konfigurasi Firebase (
GoogleService-Info.plist
) di codebase aplikasi Anda diperbarui dengan nama bucket Cloud Storage default.Gunakan file konfigurasi yang didownload ini untuk mengganti file
GoogleService-Info.plist
yang ada di root project Xcode Anda. Jika diminta, pilih untuk menambahkan file konfigurasi ke semua target.Pastikan Anda hanya memiliki file konfigurasi terbaru yang didownload ini di aplikasi dan nama filenya tidak ditambahi karakter lain, seperti
(2)
.
Dapatkan referensi ke layanan Cloud Storage, menggunakan Aplikasi Firebase default:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C
FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
Anda sudah siap untuk mulai menggunakan Cloud Storage!
Langkah berikutnya? Pelajari cara membuat referensi Cloud Storage.
Penyiapan lanjutan
Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:
- Menggunakan bucket Cloud Storage di beberapa region geografis
- Menggunakan bucket Cloud Storage di berbagai kelas penyimpanan
- Menggunakan bucket Cloud Storage dengan beberapa pengguna terautentikasi dalam aplikasi yang sama
Kasus penggunaan pertama sangat cocok jika Anda memiliki pengguna di seluruh dunia dan ingin menyimpan datanya di dekat mereka. Misalnya, Anda dapat membuat bucket di Amerika Serikat, Eropa, dan Asia untuk menyimpan data bagi pengguna di region-region tersebut guna mengurangi latensi.
Kasus penggunaan kedua sangat membantu jika Anda memiliki data dengan berbagai pola akses. Misalnya: Anda dapat menyiapkan bucket multiregional atau regional yang menyimpan gambar atau konten lain yang sering diakses, dan bucket nearline atau coldline yang menyimpan cadangan pengguna atau konten lainnya yang jarang diakses.
Dalam salah satu kasus penggunaan ini, sebaiknya Anda menggunakan beberapa bucket Cloud Storage.
Kasus penggunaan ketiga berguna jika Anda membuat aplikasi yang memungkinkan pengguna untuk memiliki beberapa akun login (misalnya, akun pribadi dan akun kerja), seperti Google Drive. Anda dapat menggunakan instance Aplikasi Firebase kustom untuk mengautentikasi setiap akun tambahan.
Menggunakan beberapa bucket Cloud Storage
Jika Anda ingin menggunakan bucket Cloud Storage selain bucket default yang disediakan di atas, atau ingin menggunakan beberapa bucket Cloud Storage di satu aplikasi, Anda dapat membuat instance FIRStorage
yang merujuk bucket kustom Anda:
Swift
// 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"];
Menangani bucket yang diimpor
Saat mengimpor bucket Cloud Storage yang sudah ada ke Firebase, Anda harus memberikan izin kepada Firebase 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://BUCKET_NAME
Anda dapat menemukan nomor project seperti yang dijelaskan dalam pengantar project Firebase.
Hal ini tidak akan memengaruhi bucket yang baru dibuat karena bucket ini memiliki kontrol akses default yang ditetapkan untuk mengizinkan Firebase. Ini adalah tindakan sementara dan akan dilakukan secara otomatis di masa mendatang.
Menggunakan Aplikasi Firebase kustom
Jika mem-build aplikasi yang lebih rumit menggunakan FirebaseApp
kustom, Anda dapat membuat instance Storage
yang diinisialisasi dengan aplikasi tersebut:
Swift
// 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 berikutnya
Bersiap meluncurkan aplikasi Anda:
Aktifkan App Check untuk membantu memastikan bahwa hanya aplikasi Anda yang dapat mengakses bucket penyimpanan Anda.
Siapkan pemberitahuan anggaran untuk project Anda di konsol Google Cloud.
Pantau dasbor Usage and billing di Firebase console untuk mendapatkan gambaran keseluruhan penggunaan project Anda di berbagai layanan Firebase. Anda juga dapat membuka dasbor Usage Cloud Storage untuk mengetahui informasi penggunaan yang lebih mendetail.
Periksa checklist peluncuran Firebase.