Android'de Cloud Storage'ı kullanmaya başlama

Cloud Storage for Firebase, resim ve video gibi kullanıcı tarafından oluşturulan içerikleri yüklemenize ve paylaşmanıza olanak tanır. Böylece, uygulamalarınıza zengin medya içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve küresel yedekleme sunan bir exabayt ö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üklemenize olanak tanır. Böylece, bağlantının zayıf olduğu ağlarla kolayca başa çıkabilirsiniz.

Başlamadan önce

  1. 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 ve 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.

  2. Firebase projenizin kullandıkça öde Blaze fiyatlandırma planında olduğundan emin olun. Firebase ve Google Cloud'da yeniyseniz 300 ABD doları kredi almaya uygun olup olmadığınızı kontrol edin.

Varsayılan Cloud Storage paketi oluşturma

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

  2. Başlayın'ı tıklayın.

  3. Varsayılan paketiniz için bir konum seçin.

  4. Varsayılan paketiniz için Firebase Security Rules öğesini yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişim için ayarlama seçeneğini değerlendirin.

  5. 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ılabileceğini tanımlamanıza olanak tanıyan açıklayıcı 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 veri okuyabilir veya yazabilir. Authentication ayarlarını yapmadan başlamak için kurallarınızı herkese açık erişim için yapılandırabilirsiniz.

Bu durumda, Cloud Storage uygulamanızı kullanmayan kullanıcılar da dahil olmak üzere herkese açık hale gelir. Bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage'nizi tekrar kısıtladığınızdan emin olun.

Cloud Storage SDK'sını uygulamanıza ekleme

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ümlendirmesini kontrol etmek için Firebase Android BoM simgesini kullanmanızı öneririz.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.6.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) BoM

Firebase BoM 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 BoM'ı kullanmanızı önemle tavsiye ederiz. Bu, tüm sürümlerin uyumlu olmasını sağlar.

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.1")
}
Kotlin'e özgü 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ünden yararlanabilir (ayrıntılar için bu girişimle ilgili SSS bölümüne bakın).

Uygulamanızda Cloud Storage'ü ayarlama

  1. Uygulamanızın kod tabanında bulunan Firebase yapılandırma dosyasının (google-services.json), varsayılan Cloud Storage paketinizin adıyla güncellendiğinden emin olun.

    1. Güncellenen yapılandırma dosyanızı alın.

    2. Uygulamanızın modül (uygulama düzeyi) dizinindeki mevcut google-services.json dosyasını değiştirmek için indirilen bu yapılandırma dosyasını kullanın.

      Uygulamanızda yalnızca en son indirilen yapılandırma dosyasının bulunduğundan ve dosya adına (2) gibi ek karakterler eklenmediğinden emin olun.

  2. FirebaseStorage örneği oluşturarak Cloud Storage paketinize erişin:

    Kotlin+KTX

    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:

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ı mükemmel bir seçimdir. Örneğin, gecikmeyi azaltmak için ABD, Avrupa ve Asya'da bu bölgelerdeki kullanıcılara ait verileri depolamak üzere paketler oluşturabilirsiniz.

Farklı erişim kalıplarına sahip verileriniz varsa ikinci kullanım alanı faydalı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 yakın satır veya soğuk satır paketi oluşturabilirsiniz.

Bu kullanım alanlarından herhangi birinde birden fazla Cloud Storage paketi kullanmak isteyebilirsiniz.

Üçüncü kullanım alanı, Google Drive gibi kullanıcıların birden fazla oturum açmasına (ör. kişisel hesap ve iş hesabı) olanak tanıyan bir uygulama geliştiriyorsanız kullanışlı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

Bu kılavuzun önceki bölümlerinde 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+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 Google Cloud SDK'sına dahil olan 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.

Varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlandığından bu değişiklik, yeni oluşturulan paketleri etkilemez. Bu geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.

Özel Firebase uygulaması kullanma

Özel bir FirebaseApp kullanarak daha karmaşık bir uygulama geliştiriyorsanız bu 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