Android'de Cloud Storage'ı kullanmaya başlayın

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

  1. Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.

  2. 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.

  3. 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.

  4. 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.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 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")
}
Kotlin'e özel bir kitaplık modülü mü arıyorsunuz? Ekim 2023'ten (Firebase BoM 32.5.0) itibaren, hem Kotlin hem de Java geliştiricileri ana kitaplık modülüne başvurabilir. (Ayrıntılar için Bu girişimle ilgili sık sorulan sorular bölümüne göz atın).

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:

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