Cloud Storage for Firebase, resim ve video gibi kullanıcı tarafından oluşturulan içerikleri yükleyip paylaşmanıza olanak tanır. Böylece uygulamalarınıza rich media içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve global yedeklilik sunan, eksabayt ölçekli bir nesne depolama çözümü olan Google Cloud Storage paketinde depolanır. Cloud Storage for Firebase, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanır ve kesintili ağları kolayca yönetir.
Başlamadan önce
Henüz yapmadıysanız Android uygulamaları için başlangıç kılavuzunu tamamladığınızdan emin olun. Bunlardan bazıları:
Firebase projesi oluşturma
Android uygulamanızı projeye kaydetme ve Firebase bağımlılıklarını, Google hizmetleri eklentisini ve Firebase yapılandırma dosyanızı (
google-services.json) uygulamanıza ekleyerek uygulamanızı Firebase'e bağlama
Firebase projenizin kullandıkça öde Blaze fiyatlandırma planında olduğundan emin olun. Cloud Storage for Firebase hizmetini kullanmak için bu plan gereklidir. Firebase ve Google Cloud'u kullanmaya yeni başladıysanız 300 ABD doları değerinde kredi için uygun olup olmadığınızı kontrol edin.
Varsayılan bir Cloud Storage paketi oluşturma
Firebase konsolunda Databases & Storage (Veritabanları ve Depolama) > Storage (Depolama) bölümüne gidin.
Projeniz henüz kullandıkça öde Blaze fiyatlandırma planında değilse projenizi yükseltmeniz istenir.
Başlayın'ı tıklayın.
Varsayılan paketiniz için bir konum seçin.
,US-CENTRAL1 veUS-EAST1 'deki paketler, Google Cloud Storage için "Her Zaman Ücretsiz" katmanından yararlanabilir. Diğer tüm konumlardaki paketler, Google Cloud Storage fiyatlandırması ve kullanımına tabidir.US-WEST1Dilerseniz daha sonra her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz.
Varsayılan paketiniz için Firebase Security Rules yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişim için ayarlayabilirsiniz.
Bitti'yi tıklayın.
Artık paketi Firebase konsolunda görüntüleyebilirsiniz (Databases & Storage > Storage > Files sekmesine gidin).
Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app
Genel erişimi ayarlama
Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması ve dizine eklenmesi gerektiğini, verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan açıklayıcı bir kural dili sağlar. Varsayılan olarak, Cloud Storage için okuma ve yazma erişimi kısıtlanır. Böylece, yalnızca kimliği doğrulanmış kullanıcılar veri okuyabilir veya yazabilir. Authentication'ı ayarlamadan başlamak için kurallarınızı herkese açık erişim için yapılandırabilirsiniz.
Bu işlem, Cloud Storage uygulamanızı kullanmayanlar da dahil olmak üzere herkese açık hale getirir. Bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage uygulamanızı tekrar kısıtladığınızdan emin olun.
Cloud Storage SDK'sını uygulamanıza ekleyin
Modülünüzün (uygulama düzeyinde) Gradle dosyasında (genellikle<project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle) Android için Cloud Storage kitaplığına olan bağımlılığı ekleyin. Kitaplık sürümünü kontrol etmek için Firebase Android BoM kullanmanızı öneririz.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:35.0.1")) // 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 kullanarak uygulamanızın her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanmasını sağlayabilirsiniz.
(Alternatif) BoM kullanmadan Firebase kitaplığı bağımlılıklarını ekleme
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplığı sürümünü kendi 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 BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olmasını sağlayabilirsiniz.
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:23.0.0") }
Uygulamanızda Cloud Storage özelliğini ayarlama
Uygulamanızın kod tabanındaki Firebase yapılandırma dosyasının (
google-services.json) varsayılan Cloud Storage paketinizin adıyla güncellendiğinden emin olun.İndirilen bu yapılandırma dosyasını, uygulamanızın modül (uygulama düzeyinde) dizinindeki mevcut
google-services.jsondosyasını değiştirmek için kullanın.Uygulamanızda yalnızca en son indirilen yapılandırma dosyasının bulunduğundan ve dosya adına
(2)gibi ek karakterler eklenmediğinden emin olun.
FirebaseStorageörneği oluşturarak Cloud Storage paketinize erişin:Kotlin
storage = Firebase.storage
// Alternatively, explicitly specify the bucket name URL. // val storage = Firebase.storage("gs://BUCKET_NAME")
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
// Alternatively, explicitly specify the bucket name URL. // FirebaseStorage storage = FirebaseStorage.getInstance("gs://BUCKET_NAME");
Cloud Storage uygulamasını kullanmaya hazırsınız.
Sonraki adım ne? Cloud Storage referansı oluşturma hakkında bilgi edinin.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım alanı vardır:
- Birden fazla coğrafi bölgede Cloud Storage paketi kullanma
- Farklı depolama sınıflarında Cloud Storage paketleri kullanma
- Aynı uygulamada birden fazla kimliği doğrulanmış kullanıcıyla Cloud Storage paketleri kullanma
İlk kullanım alanı, dünyanın her yerinde kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız idealdir. Örneğin, gecikmeyi azaltmak amacıyla ABD, Avrupa ve Asya'daki kullanıcıların verilerini depolamak için bu bölgelerde paketler oluşturabilirsiniz.
İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa faydalıdır. Örneğin, resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli ya da bölgesel bir paket ve kullanıcı yedeklerini veya seyrek erişilen diğer içerikleri depolayan bir Nearline ya da Coldline paketi oluşturabilirsiniz.
Bu kullanım alanlarından birinde birden fazla Cloud Storage paketi kullanmanız gerekir.
Üçüncü kullanım alanı, Google Drive gibi kullanıcıların birden fazla hesapta (ör. kişisel hesap ve iş hesabı) oturum açmasına olanak tanıyan bir uygulama geliştiriyorsanız kullanışlıdır. Her ek hesabı kimlik doğrulamak için özel bir Firebase uygulaması örneği kullanabilirsiniz.
Birden fazla Cloud Storage paketi kullanma
Bu kılavuzda daha önce açıklanan varsayılan Cloud Storage paketi dışında bir paket kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız özel paketinize referans veren bir FirebaseStorage örneği oluşturabilirsiniz:
Kotlin
// 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 paketlerle ç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 izni vermeniz gerekir:
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Proje numaranızı Firebase projelerine giriş bölümünde açıklandığı şekilde bulabilirsiniz.
Bu durum, yeni oluşturulan paketleri etkilemez. Bu paketlerde varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlanmıştır. Bu geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.
Özel bir Firebase uygulaması kullanma
Özel bir FirebaseApp kullanarak daha karmaşık bir uygulama geliştiriyorsanız bu uygulamayla başlatılan bir FirebaseStorage örneği oluşturabilirsiniz:
Kotlin
// 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ı kullanıma sunmaya hazırlanma:
Depolama alanı gruplarınıza yalnızca uygulamalarınızın erişebilmesi için App Check'ı etkinleştirin.
Google Cloud konsolunda projeniz için bütçe uyarıları ayarlayın.
Projenizin birden fazla Firebase hizmetindeki kullanımına dair genel bir fikir edinmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Cloud Storage Kullanım kontrol panelini de ziyaret edebilirsiniz.
Firebase lansman yapılacaklar listesini inceleyin.