Buka konsol

Memulai Cloud Storage di Android

Cloud Storage for Firebase dapat digunakan untuk mengupload dan membagikan konten buatan pengguna, seperti gambar dan video sehingga Anda dapat membuat konten multimedia ke dalam aplikasi. Data Anda disimpan dalam bucket Google Cloud Storage, yakni solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Cloud Storage dapat digunakan untuk mengupload file tersebut secara langsung dari perangkat seluler dan browser web dengan aman, sehingga Anda dapat menangani jaringan yang tidak stabil dengan mudah.

Prasyarat

Tambahkan Firebase ke project Android jika Anda belum melakukannya.

Pada file build.gradle level project, pastikan untuk menyertakan repositori Maven Google di bagian buildscript dan allprojects Anda.

Membuat bucket Storage default

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

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

  3. Pilih lokasi untuk bucket Storage default.

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

    • Jika tidak dapat memilih lokasi, project Anda sudah memiliki lokasi resource GCP default. Lokasi ditetapkan baik selama pembuatan project atau ketika menyiapkan layanan lain yang memerlukan setelan lokasi.

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

  4. Klik Selesai.

Menyiapkan akses publik

Cloud Storage for Firebase menyediakan bahasa aturan deklaratif yang memungkinkan Anda untuk menentukan metode strukturisasi data, penyusunan indeks, dan waktu data tersebut dapat dibaca dan ditulis. Secara default, akses baca dan tulis pada Storage dibatasi, sehingga hanya pengguna terautentikasi yang dapat membaca dan menuliskan data. Untuk memulai tanpa menyiapkan Authentication, Anda dapat mengonfigurasi aturan agar dapat diakses oleh publik.

Tindakan ini membuat Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda. Oleh sebab itu, pastikan untuk membatasi Storage kembali saat menyiapkan Authentication.

Menambahkan Cloud Storage ke aplikasi

Tambahkan dependensi untuk library Android Cloud Storage ke file Gradle modul (tingkat aplikasi) Anda (biasanya app/build.gradle):

implementation 'com.google.firebase:firebase-storage:19.1.0'

Menyiapkan Cloud Storage

Langkah pertama dalam mengakses bucket penyimpanan Anda adalah membuat instance FirebaseStorage:

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

Kotlin

storage = FirebaseStorage.getInstance()

Anda siap untuk mulai menggunakan Cloud Storage.

Pertama, mari pelajari cara membuat referensi Cloud Storage.

Penyiapan lanjutan

Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:

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 tersebut guna mengurangi latensi.

Kasus penggunaan kedua sangat membantu jika Anda memiliki data dengan berbagai pola akses. Misalnya: Anda dapat membuat bucket multi-regional atau regional yang menyimpan gambar atau konten lain yang sering diakses dan bucket nearline atau coldline yang menyimpan backup pengguna atau konten lainnya yang jarang diakses.

Dalam salah satu kasus penggunaan ini, sebaiknya gunakan beberapa bucket penyimpanan.

Kasus penggunaan ketiga berguna jika Anda sedang 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 penyimpanan

Jika Anda ingin menggunakan bucket penyimpanan selain dari yang diberikan di atas atau menggunakan beberapa bucket penyimpanan di satu aplikasi, buat instance dari FirebaseStorage yang mereferensikan bucket kustom Anda:

Java

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

Kotlin

// Get a non-default Storage bucket
val storage = FirebaseStorage.getInstance("gs://my-custom-bucket")

Bekerja dengan bucket hasil impor

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 firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

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 Anda membuat aplikasi yang lebih rumit menggunakan FirebaseApp kustom, Anda dapat membuat instance FirebaseStorage yang diinisialisasi dengan aplikasi tersebut:

Java

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.getInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");

Kotlin

// Get the default bucket from a custom FirebaseApp
val storage = FirebaseStorage.getInstance(customApp!!)

// Get a non-default bucket from a custom FirebaseApp
val customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket")