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
Firebase konsolunun gezinme bölmesinden Depolama'yı seçin ve ardından Başlayın'ı tıklayın.
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.
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.
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
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak eklentiyi yükleyin:
flutter pub add firebase_storage
İşlem tamamlandığında Flutter uygulamanızı yeniden derleyin:
flutter run
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:
- Cloud Storage paketlerini birden fazla coğrafi bölgede kullanma
- Cloud Storage paketlerini farklı depolama sınıflarında kullanma
- Aynı uygulamada kimliği doğrulanmış birden fazla kullanıcıyla Cloud Storage paketlerini kullanma
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
- Uygulamanızı kullanıma sunmaya hazırlanma:
- Depolama paketlerinize yalnızca sizin uygulamalarınızın erişebildiğinden emin olmak için Uygulama Kontrolü'nü etkinleştirin.
- Google Cloud Console'da projeniz için bütçe uyarıları oluşturun.
- Birden çok Firebase hizmeti genelinde projenizin kullanımıyla ilgili genel bir fikir edinmek için Firebase konsolunda Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Cloud Storage Kullanım kontrol panelini de ziyaret edebilirsiniz.
- Firebase lansmanı kontrol listesini inceleyin.