Android'de Cloud Storage'ı kullanmaya başlama

Cloud Storage for Firebase sayesinde görüntü ve video gibi kullanıcı tarafından oluşturulan içerikleri yükleyip paylaşabilirsiniz. Böylece, uygulamalarınızda rich media içeriği oluşturabilirsiniz. Verileriniz, yüksek kullanılabilirlik ve küresel yedekleme imkanı sunan eksabayt ölçekli nesne depolama çözümü 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 sağlayarak sorunlu 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ını kullanarak Cloud Storage verilerinizin güvenliğini sağlamayla ilgili mesajları inceleyin. Geliştirme sırasında herkese açık erişim kurallarınızı oluşturmayı 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, özellikle de Cloud Firestore veritabanınız ve App Engine uygulamanız (Cloud Scheduler kullanıyorsanız gereklidir) için kullanılacağını unutmayın.

    • Konum seçemiyorsanız projenizin zaten varsayılan bir GCP kaynak konumu vardır. Bu değer, proje oluşturma sırasında veya 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ı, nasıl dizine 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ıtlıdır. Böylece yalnızca kimliği doğrulanmış kullanıcılar veri okuyabilir veya yazabilir. Kimlik Doğrulama'yı 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ı kullanmayan kişiler dahil olmak üzere herkese açık hale getirir. 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üzeyinde) Gradle dosyanıza (genellikle <project>/<app-module>/build.gradle.kts veya <project>/<app-module>/build.gradle), Android için Cloud Storage kitaplığına bağımlılığı ekleyin. Kitaplık sürümünü 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.2"))

    // 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) BoM'u kullanmadan Firebase kitaplığı bağımlılıklarını ekleme

Firebase BoM'yi kullanmamayı seçerseniz her Firebase kitaplığı 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. Böylece 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: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ğlı olabilir (ayrıntılar için Bu girişimle ilgili SSS bölümüne bakın).

Cloud Storage'ı ayarlayın

Cloud Storage paketinize erişmenin ilk adımı, FirebaseStorage öğesinin bir örneğini oluşturmaktır:

Kotlin+KTX

storage = Firebase.storage

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

Cloud Storage'ı kullanmaya hazırsınız.

Öncelikle Cloud Storage referansının nasıl oluşturulacağını öğrenelim.

Gelişmiş kurulum

Ek kurulum gerektiren birkaç kullanım alanı vardır:

Dünyanın dört bir yanında kullanıcılarınız varsa ve verilerini yakınlarında depolamak istiyorsanız ilk kullanım alanı idealdir. Örneğin ABD, Avrupa ve Asya'da bulunan paketler oluşturarak gecikmeyi azaltmak için bu bölgelerdeki kullanıcıların verilerini depolayabilirsiniz.

İ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 nadiren erişilen diğer içerikleri depolayan bir Nearline veya Coldline paketi oluşturabilirsiniz.

Bu kullanım alanlarından birinde birden fazla Cloud Storage paketi kullanmanız gerekir.

Üçüncü kullanım alanı, kullanıcıların giriş yapmış birden fazla hesaba (örneğin, kişisel bir hesap ve bir iş hesabı) sahip olmasına olanak tanıyan Google Drive gibi bir uygulama geliştiriyorsanız yararlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase Uygulaması örneği kullanabilirsiniz.

Birden fazla Cloud Storage paketi kullanma

Yukarıda sağlanan varsayılan sürümden farklı bir Cloud Storage paketi kullanmak veya tek bir uygulamada birden çok 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 aktarırken Firebase'e, Google Cloud SDK'da bulunan gsutil aracını kullanarak bu dosyalara erişim 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.

Bu durum, yeni oluşturulan paketleri etkilemez. Çünkü bu gruplar, varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlanır. Bu geçici bir çözümdür ve gelecekte otomatik olarak yapılacaktır.

Özel bir Firebase uygulaması kullanın

Özel bir FirebaseApp kullanarak daha karmaşık bir uygulama oluşturuyorsanız söz konusu uygulamayla başlatılmış 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