Cloud Storage for Firebase, kullanıcı tarafından oluşturulan içerikleri (ör. resim ve video) yükleyip paylaşmanıza olanak tanır. Bu sayede uygulamalarınıza zengin medya içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve global yedeklilik sunan, exabyte ölçeğinde 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 düzensiz 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, 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. Firebase ve Google Cloud'u yeni kullanmaya başladıysanız 300 ABD doları değerinde kredi almaya uygun olup olmadığınızı kontrol edin.
Varsayılan Cloud Storage paketi oluşturma
Firebase konsolunun gezinme bölmesinde Depolama'yı seçin.
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
bölgelerindeki bucket'lar, Google Cloud Storage için "Daima Ücretsiz" katmanından yararlanabilir. Diğer tüm konumlardaki paketler Google Cloud Storage fiyatlandırma ve kullanım koşullarına tabidir.US-WEST1
İsterseniz daha sonra her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz.
Varsayılan paketiniz için Firebase Security Rules özelliğini yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişime göre ayarlamayı düşünebilirsiniz.
Bitti'yi tıklayın.
Artık paketi Firebase konsolunun Cloud Storage Dosyalar sekmesinde görüntüleyebilirsiniz. Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app
Herkese açık erişimi ayarlama
Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması, nasıl dizine eklenmesi ve ne zaman okunup yazılması gerektiğini tanımlamanıza olanak tanıyan bildirimsel 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 verileri 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 herkesin erişimine açar. Bu nedenle, kimlik doğrulamayı ayarladığınızda Cloud Storage erişimini tekrar kısıtladığınızdan emin olun.
Uygulamanıza Cloud Storage SDK'sını 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ığının bağımlılığını ekleyin. Kitaplık sürüm oluşturmayı 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:34.0.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 kullanıldığında uygulamanız Firebase Android kitaplıklarının daima uyumlu sürümlerini kullanır.
(Alternatif) Firebase kitaplığı bağımlılıklarını BoM kullanmadan ekleyin.
Firebase BoM kullanmamayı tercih ederseniz her Firebase kitaplık 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 BoM kullanmanızı önemle tavsiye ederiz. Bu sayede tüm sürümlerin uyumlu olması sağlanır.
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:22.0.0") }
Uygulamanızda Cloud Storage'ı ayarlama
Uygulamanızın kod tabanındaki Firebase yapılandırma dosyasının (
google-services.json
) varsayılan Cloud Storage paketin adıyla güncellendiğinden emin olun.Bu indirilen yapılandırma dosyasını kullanarak uygulamanızın modül (uygulama düzeyinde) dizinindeki mevcut
google-services.json
dosyasını değiştirin.Uygulamanızda yalnızca en son indirilen bu 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 kullanmaya hazırsınız.
Sonraki adım? Cloud Storage referansı oluşturmayı öğrenin.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım alanı vardır:
- Birden fazla coğrafi bölgede Cloud Storage paketlerini kullanma
- Farklı depolama sınıflarındaki Cloud Storage paketlerini kullanma
- Aynı uygulamada birden fazla kimliği doğrulanmış kullanıcıyla Cloud Storage paketlerini kullanma
Dünyanın dört bir yanından kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız ilk kullanım alanı idealdir. Örneğin, bu bölgelerdeki kullanıcıların verilerini depolamak için ABD, Avrupa ve Asya'da paketler oluşturarak gecikmeyi azaltabilirsiniz.
İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa yararlı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 sık erişilmeyen diğer içerikleri depolayan nearline ya da coldline paketi oluşturabilirsiniz.
Bu kullanım alanlarının her ikisinde de birden fazla Cloud Storage grubu kullanmak isteyeceksiniz.
Üçüncü kullanım alanı, Google Drive gibi kullanıcıların birden fazla hesapla oturum açmasına (örneğin, kişisel hesap ve iş hesabı) olanak tanıyan bir uygulama geliştiriyorsanız yararlıdır. Ek hesapların her birini 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 paket 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
// 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 grubu Firebase'e aktarırken Google Cloud SDK'sında 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, varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlandığı için yeni oluşturulan paketleri etkilemez. Bu işlem geçici bir çözümdür ve gelecekte otomatik olarak yapılacaktır.
Özel bir Firebase uygulaması kullanma
Özel bir FirebaseApp
kullanarak daha karmaşık bir uygulama oluşturuyorsanı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:
Yalnızca uygulamalarınızın depolama alanı gruplarınıza erişebildiğinden emin olmak 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 görünüm elde etmek 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 kontrol listesini inceleyin.