Firebase için Cloud Storage, 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 özelliğine sahip 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üklemenizi sağlayarak sorunlu ağları kolayca yönetmenizi sağlar.
Başlamadan önce
Henüz yapmadıysanız Flutter uygulamaları için başlangıç kılavuzunu tamamladığınızdan emin olun. Bunlardan bazıları:
Firebase projesi oluşturma.
Flutter için Firebase SDK'larını yükleme ve başlatma.
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
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.
Başlayın'ı tıklayın.
Varsayılan paketiniz için konum seçin.
,US-CENTRAL1
veUS-EAST1
'teki paketler, Google Cloud Storage için "Daima Ücretsiz" katmanından yararlanabilir. Diğer tüm konumlardaki paketler Google Cloud Storage fiyatlandırma ve kullanım kurallarına tabidir.US-WEST1
Dilerseniz daha sonra her biri kendi konumuna sahip birden fazla paket oluşturabilirsiniz.
Varsayılan paketiniz için Firebase Security Rules öğesini yapılandırın. Geliştirme sırasında herkese açık erişim kurallarınızı oluşturmayı düşünün.
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
Firebase için Cloud Storage, verilerinizin nasıl yapılandırılacağını, nasıl dizine ekleneceğini ve ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan açıklayıcı bir kurallar dili sağlar. Cloud Storage'a varsayılan olarak okuma ve yazma erişimi kısıtlanır. Bu nedenle, 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 ekleme
Flutter projenizin kökünden aşağıdaki komutu çalıştırarak eklentiyi yükleyin:
flutter pub add firebase_storage
İşlem tamamlandığında Flutter uygulamanızı yeniden oluşturun:
flutter run
Eklentiyi Dart kodunuza içe aktarın:
import 'package:firebase_storage/firebase_storage.dart';
Cloud Storage'ı ayarlayın
Flutter proje dizininizden
flutterfire configure
dosyasını çalıştırın. Bu işlem, uygulamanızın kod tabanındaki Firebase yapılandırma dosyasını (firebase_options.dart
) varsayılan Cloud Storage paketinizin adını içerecek şekilde günceller.FirebaseStorage
örneği oluşturarak Cloud Storage paketinize erişin:final storage = FirebaseStorage.instance; // Alternatively, explicitly specify the bucket name URL. // final storage = FirebaseStorage.instanceFor(bucket: "gs://<var>BUCKET_NAME</var>");
Cloud Storage'ı kullanmaya hazırsınız.
Sonraki adım? Cloud Storage referansı oluşturma hakkında bilgi edinin.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım alanı vardır:
- Çoklu coğrafi bölgede Cloud Storage paketlerini kullanma
- Farklı depolama sınıflarında Cloud Storage paketlerini 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ı 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.
İ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 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 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 Cloud Storage paketi 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:
// 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 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://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 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:
// Use a non-default App
final storage = FirebaseStorage.instanceFor(app: customApp);
Sonraki adımlar
- Uygulamanızı kullanıma sunmaya hazırlanın:
- Depolama alanı gruplarınıza yalnızca uygulamalarınızın erişebilmesi için Uygulama Kontrolü'nü etkinleştirin.
- Google Cloud Console'da projeniz için bütçe uyarıları oluşturun.
- Projenizin birden fazla Firebase hizmetindeki kullanımına dair genel bir fikir edinmek için Firebase konsolundaki 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.