Flutter'da 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 Flutter için Firebase SDK'larını yükleyin ve başlatın.

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. Firebase Authentication'ı kurmadan 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

  1. Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak eklentiyi yükleyin:

    flutter pub add firebase_storage
    
  2. İşlem tamamlandığında Flutter uygulamanızı yeniden derleyin:

    flutter run
    
  3. Eklentiyi Dart kodunuza içe aktarın:

    import 'package:firebase_storage/firebase_storage.dart';
    

Cloud Storage'ı ayarlayın

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

final storage = FirebaseStorage.instance;

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 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:

// Get a non-default Storage bucket
final storage = FirebaseStorage.instanceFor(bucket: "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:

// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);

Sonraki adımlar