Cloud Storage for Firebase sayesinde resim ve video gibi kullanıcılar tarafından oluşturulan içerikleri yükleyip paylaşabilir, bu sayede uygulamalarınıza rich media içeriği ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve küresel yedekleme sunan bir eksabayt ölçekli 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üklemenizi ve yavaş çalışan ağları kolayca yönetmenizi sağlar.
Ön koşullar
Henüz yapmadıysanız Firebase'i Android projenize ekleyin.
Varsayılan Cloud Storage paketi oluşturma
Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.
Güvenlik kuralları kullanarak Cloud Storage verilerinizin güvenliğini sağlama hakkındaki mesajları inceleyin. Geliştirme sırasında herkese açık erişim kurallarınızı ayarlamayı düşünün.
Varsayılan Cloud Storage paketiniz için bir konum seçin.
Bu konum ayarı, projenizin varsayılan Google Cloud Platform (GCP) kaynak konumudur. Bu konumun, projenizde konum ayarı gerektiren GCP hizmetleri için kullanılacağını unutmayın. Bu hizmetler, özellikle Cloud Firestore veritabanınız ve App Engine uygulamanız için (Cloud Scheduler kullanıyorsanız zorunludur) gereklidir.
Konum seçemiyorsanız projeniz zaten varsayılan bir GCP kaynak konumuna sahiptir. Ya proje oluşturulurken ya da konum ayarı gerektiren başka bir hizmet kurulurken ayarlanmıştır.
Blaze planını kullanıyorsanız her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz.
Done'ı (Bitti) tıklayın.
Herkese açık erişimi ayarlama
Cloud Storage for Firebase, verilerinizin nasıl yapılandırılacağını, dizine nasıl 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ğrulaması'nı ayarlamadan başlamak için kurallarınızı herkese açık erişim için yapılandırabilirsiniz.
Bu sayede Cloud Storage, uygulamanızı kullanmayanlar da dahil olmak üzere herkese açık olur. Bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage'ınızı tekrar kısıtlamayı unutmayın.
Cloud Storage SDK'sını uygulamanıza ekleyin
Modül (uygulama düzeyi) Gradle dosyanıza (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'u kullanmanızı öneririz.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.1.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 kullanıldığında uygulamanız Firebase Android kitaplıklarının her zaman uyumlu sürümlerini kullanır.
(Alternatif) Firebase kitaplığı bağımlılıklarını BoM'u kullanmadan ekleyin
Firebase BoM'yi kullanmamayı seçerseniz 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 tüm sürümlerin uyumlu olmasını sağlamak için BoM kullanmanızı kesinlikle öneririz.
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:21.0.0") }
Cloud Storage'ı ayarlayın
Cloud Storage paketinize erişmenin ilk adımı FirebaseStorage
örneği oluşturmaktır:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Cloud Storage'ı kullanmaya hazırsınız!
Öncelikle Cloud Storage referansı oluşturmayı öğrenelim.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım alanı vardır:
- Birden fazla coğrafi bölgede Cloud Storage paketlerini kullanma
- Cloud Storage paketlerini farklı depolama sınıflarında kullanma
- Aynı uygulamada birden fazla kimliği doğrulanmış kullanıcıyla Cloud Storage paketlerini kullanma
Dünyanın çeşitli yerlerinden kullanıcılarınız varsa ve verilerini bu kullanıcıların yakınında saklamak istiyorsanız ilk kullanım alanı mükemmeldir. Örneğin ABD, Avrupa ve Asya'da paketler oluşturarak bu bölgelerdeki kullanıcıların verilerini depolayarak gecikmeyi azaltabilirsiniz.
İkinci kullanım alanı, farklı erişim modellerine sahip verileriniz varsa yararlıdır. Örneğin, resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli veya bölgesel bir paket ve kullanıcı yedeklerini ya da nadiren erişilen diğer içerikleri depolayan bir Nearline veya Soğuk hat paketi oluşturabilirsiniz.
Bu kullanım alanlarının her ikisinde de birden fazla Cloud Storage paketi kullanabilirsiniz.
Üçüncü kullanım alanı, kullanıcıların birden fazla giriş hesabına (örneğin, kişisel bir hesap ve bir iş hesabı) sahip olmasına olanak tanıyan Google Drive gibi bir uygulama oluşturuyorsanız yararlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase App örneği kullanabilirsiniz.
Birden fazla Cloud Storage paketi kullanma
Yukarıda sağlanan 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 paketlerle çalışma
Mevcut bir Cloud Storage paketini Firebase'e içe aktarırken Firebase'e, Google Cloud SDK'da bulunan gsutil
aracını kullanarak bu dosyalara erişme izni 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ığı şekilde bulabilirsiniz.
Varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlandığından, yeni oluşturulan paketlerin bu durumu etkilenmez. Bu geçici bir çözümdür 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 bu 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ı kullanıma sunmaya hazırlanın:
Depolama alanı paketlerinize yalnızca uygulamalarınızın erişebildiğinden emin olmak için Uygulama Kontrolü'nü etkinleştirin.
Google Cloud Console'da projeniz için bütçe uyarıları oluşturun.
Projenizin birden çok Firebase hizmetindeki kullanımına ilişkin 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.