Firebase için Cloud Storage, uygulamalarınızda zengin medya içeriği oluşturmanıza olanak tanıyan, görüntüler ve videolar gibi kullanıcı tarafından oluşturulan içeriği yüklemenize ve paylaşmanıza olanak tanır. Verileriniz, yüksek kullanılabilirliğe ve küresel yedekliğe sahip, eksabayt ölçekli bir nesne depolama çözümü olan bir 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ır ve sivilceli ağları kolaylıkla yönetir.
Önkoşullar
Henüz yapmadıysanız, Android projenize Firebase'i ekleyin .
Varsayılan bir Bulut Depolama paketi oluşturun
Firebase konsolunun gezinme bölmesinden Depolama'yı seçin, ardından Başlayın'ı tıklayın.
Güvenlik kurallarını kullanarak Bulut Depolama verilerinizin güvenliğini sağlamaya ilişkin mesajları inceleyin. Geliştirme sırasında, herkese açık erişim için kurallarınızı oluşturmayı 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, özellikle Cloud Firestore veritabanınız ve App Engine uygulamanız (Cloud Scheduler kullanıyorsanız gereklidir) olmak üzere bir konum ayarı gerektiren GCP hizmetleri için kullanılacağını unutmayın.
Bir konum seçemiyorsanız, projenizin zaten bir varsayılan GCP kaynak konumu vardır. Ya proje oluşturma sırasında ya da bir konum ayarı gerektiren başka bir hizmet kurulurken ayarlandı.
Blaze planındaysanız, her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz .
Bitti'yi tıklayın.
Herkese açık erişimi ayarla
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 bildirime dayalı bir kurallar 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, genel erişim için kurallarınızı yapılandırabilirsiniz .
Bu, Cloud Storage'ı uygulamanızı kullanmayan kişiler dahil herkese açık hale getirir, bu nedenle kimlik doğrulamayı ayarlarken Cloud Storage'ınızı tekrar kısıtladığınızdan emin olun.
Uygulamanıza Cloud Storage SDK'sını ekleyin
Firebase Android BoM kullanarak, modülünüzdeki (uygulama düzeyi) Gradle dosyanızdaki (genellikleapp/build.gradle
) Cloud Storage Android kitaplığının bağımlılığını bildirin. Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.3.1') // Declare 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 kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir 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'yi kullanmanızı önemle tavsiye ederiz, bu da tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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.0.1' }
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:30.3.1') // Declare 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-ktx' }
Firebase Android BoM'yi kullanarak uygulamanız her zaman Firebase Android kitaplıklarının uyumlu sürümlerini kullanır.
(Alternatif) BoM kullanmadan Firebase kitaplık bağımlılıklarını bildirin
Firebase Malzeme Listesini kullanmamayı seçerseniz, her bir 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'yi kullanmanızı önemle tavsiye ederiz, bu da tüm sürümlerin uyumlu olmasını sağlar.
dependencies { // Declare 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-ktx:20.0.1' }
Cloud Storage'ı kurun
Cloud Storage paketinize erişmenin ilk adımı, bir FirebaseStorage
örneği oluşturmaktır:
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Kotlin+KTX
storage = Firebase.storage
Cloud Storage'ı kullanmaya hazırsınız!
Öncelikle Cloud Storage referansı oluşturmayı öğrenelim.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım durumu vardır:
- Cloud Storage paketlerini birden çok coğrafi bölgede kullanma
- Cloud Storage paketlerini farklı depolama sınıflarında kullanma
- Aynı uygulamada birden çok kimliği doğrulanmış kullanıcıyla Cloud Storage paketleri kullanma
Dünyanın her yerinden kullanıcılarınız varsa ve verilerini yanları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 üzere paketler oluşturabilirsiniz.
Farklı erişim modellerine sahip verileriniz varsa, ikinci kullanım durumu yararlıdır. Örneğin: resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli veya bölgesel bir grup ve kullanıcı yedeklerini veya seyrek erişilen diğer içerikleri depolayan bir yakın hat veya soğuk hat grubu oluşturabilirsiniz.
Bu kullanım durumlarından herhangi birinde, birden çok Cloud Storage paketi kullanmak isteyeceksiniz.
Üçüncü kullanım örneği, Google Drive gibi, kullanıcıların birden fazla oturum açmış hesaba (örneğin, kişisel bir hesap ve bir iş hesabı) sahip olmasına olanak tanıyan bir uygulama oluşturuyorsanız kullanışlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase Uygulaması örneği kullanabilirsiniz.
Birden çok Cloud Storage paketi kullanın
Yukarıda sağlanan varsayılandan farklı bir Cloud Storage paketi kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız, özel paketinize başvuran bir FirebaseStorage
örneği oluşturabilirsiniz:
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
İçe aktarılan paketlerle çalışma
Mevcut bir Bulut Depolama paketini Firebase'e aktarırken, Google Cloud SDK'da bulunan gsutil
aracını kullanarak Firebase'e bu dosyalara erişme yeteneği 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.
Firebase'e izin vermek için varsayılan erişim kontrolüne sahip olduklarından, bu yeni oluşturulan paketleri etkilemez. 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:
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+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")
Sonraki adımlar
Uygulamanızı başlatmaya hazırlanın:
Yalnızca uygulamalarınızın depolama paketlerinize erişebildiğinden emin olmak için Uygulama Kontrolünü etkinleştirin.
Google Cloud Console'da projeniz için bütçe uyarıları ayarlayın.
Projenizin birden fazla Firebase hizmetinde kullanımının genel bir resmini elde etmek için Firebase konsolundaki Kullanım ve faturalandırma panosunu izleyin. Daha ayrıntılı kullanım bilgileri için Bulut Depolama Kullanımı panosunu da ziyaret edebilirsiniz.
Firebase başlatma kontrol listesini inceleyin.