Firebase için Cloud Storage, görseller ve videolar gibi kullanıcı tarafından oluşturulan içerikleri yüklemenize ve paylaşmanıza olanak tanıyarak uygulamalarınıza zengin medya içeriği oluşturmanıza olanak tanır. Verileriniz, yüksek kullanılabilirliğe ve küresel yedekliliğe sahip, eksabayt ölçekli bir nesne depolama çözümü olan Google Cloud Storage paketinde depolanır. Firebase için Cloud Storage, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanıyarak dağınık ağları kolaylıkla yönetir.
Önkoşullar
Henüz yapmadıysanız Android projenize Firebase'i ekleyin .
Varsayılan bir Cloud Storage paketi oluşturun
Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.
Güvenlik kurallarını kullanarak Cloud Storage verilerinizin güvenliğini sağlamaya ilişkin mesajları inceleyin. Geliştirme sırasında, genel erişim için kurallarınızı oluşturmayı düşünün.
Varsayılan Cloud Storage grubunuz için bir konum seçin.
Bu konum ayarı, projenizin varsayılan Google Cloud Platform (GCP) kaynak konumudur . Bu konumun, projenizde, özellikle Cloud Firestore veritabanınız ve App Engine uygulamanız (Cloud Scheduler kullanıyorsanız gereklidir) konum ayarı gerektiren GCP hizmetleri için kullanılacağını unutmayın.
Bir konum seçemiyorsanız projenizde zaten varsayılan bir GCP kaynak konumu vardır. Proje oluşturma sırasında veya konum ayarı gerektiren başka bir hizmetin kurulumu sırasında ayarlandı.
Blaze planını kullanıyorsanız her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz .
Bitti'yi tıklayın.
Genel erişimi ayarlayın
Firebase için Cloud Storage, verilerinizin nasıl yapılandırılması gerektiğini, nasıl dizine eklenmesi gerektiğini ve verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan bildirim temelli bir kural dili sağlar. Varsayılan olarak Cloud Storage'a okuma ve yazma erişimi kısıtlanmıştır, böylece yalnızca kimliği doğrulanmış kullanıcılar veri okuyabilir veya yazabilir. Kimlik Doğrulamayı ayarlamadan başlamak için kurallarınızı genel erişime yönelik olarak yapılandırabilirsiniz .
Bu, Cloud Storage'ı herkese, hatta uygulamanızı kullanmayan kişilere bile açık hale getirir; bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage'ınızı tekrar kısıtladığınızdan emin olun.
Cloud Storage SDK'yı uygulamanıza ekleyin
Modül (uygulama düzeyi) Gradle dosyanıza (genellikle<project>/<app-module>/build.gradle.kts
veya <project>/<app-module>/build.gradle
), Cloud Storage bağımlılığını ekleyin Android için kütüphane. Kitaplık sürümlerini kontrol etmek için Firebase Android BoM'yi kullanmanızı öneririz.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.6.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Firebase Android BoM'yi kullandığınızda uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM'yi kullanmadan Firebase kitaplığı bağımlılıklarını ekleyin
Firebase BoM'yi kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü bağımlılık satırında belirtmeniz gerekir.
Uygulamanızda birden fazla Firebase kitaplığı kullanıyorsanız kitaplık sürümlerini yönetmek için tüm sürümlerin uyumlu olmasını sağlayan BoM'yi kullanmanızı önemle tavsiye ettiğimizi unutmayın.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:20.3.0") }
Cloud Storage'ı kurun
Cloud Storage grubunuza erişmenin ilk adımı FirebaseStorage
örneğini oluşturmaktır:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Cloud Storage'ı kullanmaya başlamaya hazırsınız!
Öncelikle Cloud Storage referansının nasıl oluşturulacağını öğrenelim.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım durumu vardır:
- Birden fazla coğrafi bölgede Cloud Storage paketlerini kullanma
- Cloud Storage paketlerini farklı depolama sınıflarında kullanma
- Cloud Storage paketlerini aynı uygulamada kimliği doğrulanmış birden fazla kullanıcıyla kullanma
Dünyanın her yerinde kullanıcılarınız varsa ve verilerini onların yakınında depolamak istiyorsanız ilk kullanım durumu mükemmeldir. Örneğin, gecikmeyi azaltmak amacıyla ABD, Avrupa ve Asya'da bu bölgelerdeki kullanıcılar için veri depolamak amacıyla paketler oluşturabilirsiniz.
Farklı erişim modellerine sahip verileriniz varsa ikinci kullanım durumu faydalıdır. Örneğin: resimleri veya diğer sık erişilen içeriği depolayan çok bölgeli veya bölgesel bir grup ve kullanıcı yedeklerini veya diğer sık erişilen içeriği depolayan bir yakın hat veya soğuk hat grubu oluşturabilirsiniz.
Bu kullanım durumlarının herhangi birinde birden fazla Cloud Storage paketi kullanmak isteyeceksiniz.
Üçüncü kullanım durumu, kullanıcıların birden fazla oturum açmış hesaba (örneğin, kişisel hesap ve iş hesabı) sahip olmasına olanak tanıyan Google Drive gibi bir uygulama geliştiriyorsanız kullanışlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase Uygulaması örneği kullanabilirsiniz .
Birden fazla Cloud Storage paketi kullanın
Yukarıda belirtilen varsayılanın dışında bir Cloud Storage paketi kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız özel paketinize referans veren bir FirebaseStorage
örneği oluşturabilirsiniz:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");
İçe aktarılan kovalarla çalışma
Mevcut bir Cloud Storage paketini Firebase'e aktarırken, Google Cloud SDK'da bulunan gsutil
aracını kullanarak Firebase'e bu dosyalara erişme olanağı vermeniz gerekir:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Proje numaranızı Firebase projelerine giriş bölümünde açıklandığı gibi bulabilirsiniz.
Bu, yeni oluşturulan paketleri etkilemez çünkü bunların varsayılan erişim kontrolü Firebase'e izin verecek şekilde ayarlanmıştır. Bu geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.
Özel bir Firebase Uygulaması kullanın
Özel bir FirebaseApp
kullanarak daha karmaşık bir uygulama oluşturuyorsanız, o uygulamayla başlatılan bir FirebaseStorage
örneği oluşturabilirsiniz:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
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");
Sonraki adımlar
Uygulamanızı başlatmaya hazırlanın:
Depolama gruplarınıza yalnızca uygulamalarınızın erişebildiğinden emin olmak için Uygulama Denetimini etkinleştirin.
Google Cloud Console'da projeniz için bütçe uyarıları ayarlayın.
Projenizin birden fazla Firebase hizmetindeki kullanımının genel bir resmini elde etmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Bulut Depolama Kullanımı kontrol panelini de ziyaret edebilirsiniz.
Firebase başlatma kontrol listesini inceleyin.