Firebase için Bulut Depolama, uygulamalarınıza zengin medya içeriği oluşturmanıza olanak tanıyan resimler ve video gibi kullanıcı tarafından oluşturulan içeriği yüklemenize ve paylaşmanıza olanak tanır. Verileriniz, yüksek kullanılabilirliğe ve küresel yedekliliğe sahip, eksabayt ölçekli bir nesne depolama çözümü olan bir Google Cloud Storage paketinde depolanır. Firebase için Bulut Depolama, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanıyarak düzensiz ağları kolaylıkla halleder.
Önkoşullar
- Firebase SDK'sını kurun .
- Uygulamanızı Firebase konsolundaki Firebase projenize ekleyin.
Varsayılan bir Bulut Depolama paketi oluşturun
Firebase konsolunun gezinme bölmesinden, Depolama'yı seçin ve ardından Başlayın'ı tıklayın.
Güvenlik kurallarını kullanarak Bulut Depolama verilerinizin güvenliğini sağlamaya ilişkin mesajı inceleyin. Geliştirme sırasında, kurallarınızı genel erişim için ayarlamayı düşünün.
Varsayılan Bulut Depolama grubunuz 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 Cloud Firestore veritabanınız ve App Engine uygulamanız (Cloud Scheduler kullanıyorsanız gereklidir) için kullanılacağını unutmayın.
Bir konum seçemiyorsanız, projenizde zaten varsayılan bir GCP kaynak konumu vardır. 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 çok grup oluşturabilirsiniz .
Bitti'yi tıklayın.
Genel erişimi ayarla
Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması gerektiğini, nasıl dizine eklenmesi gerektiğini ve verilerinizden ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan bildirime dayalı bir kurallar dili sağlar. Varsayılan olarak, Cloud Storage'a okuma ve yazma erişimi kısıtlanmıştır, böylece yalnızca kimliği doğrulanmış kullanıcılar veri okuyabilir veya yazabilir. Kimlik Doğrulamayı kurmadan başlamak için, kurallarınızı genel erişim için yapılandırabilirsiniz .
Bu, Bulut Depolamayı uygulamanızı kullanmayan kişiler dahil herkese açık hale getirir, bu nedenle kimlik doğrulamayı ayarlarken Bulut Depolamanızı tekrar kısıtladığınızdan emin olun.
Uygulamanıza Bulut Depolama ekleyin
Firebase bağımlılıklarını kurmak ve yönetmek için Swift Paket Yöneticisi'ni kullanın.
- Xcode'da, uygulama projeniz açıkken File > Add Packages seçeneğine gidin.
- İstendiğinde, Firebase Apple platformları SDK deposunu ekleyin:
- Bulut Depolama kitaplığını seçin.
- Bittiğinde, Xcode otomatik olarak arka planda bağımlılıklarınızı çözmeye ve indirmeye başlayacaktır.
https://github.com/firebase/firebase-ios-sdk
Cloud Storage'ı kurun
Herhangi bir Firebase referansı oluşturulmadan veya kullanılmadan önce Firebase'i başlatmalısınız. Bunu zaten başka bir Firebase özelliği için yaptıysanız, bu adımı atlayabilirsiniz.
-
UIApplicationDelegate
uygulamanızaFirebaseCore
modülünü ve uygulama temsilcinizin kullandığı diğer Firebase modüllerini içe aktarın. Örneğin, Cloud Firestore ve Authentication'ı kullanmak için:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Süratli
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Amaç-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Uygulama temsilcinizin
application(_:didFinishLaunchingWithOptions:)
yönteminde birFirebaseApp
paylaşılan örneği yapılandırın:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Süratli
// Use Firebase library to configure APIs FirebaseApp.configure()
Amaç-C
// Use Firebase library to configure APIs [FIRApp configure];
- SwiftUI kullanıyorsanız, bir uygulama temsilcisi oluşturmalı ve bunu
UIApplicationDelegateAdaptor
veyaNSApplicationDelegateAdaptor
aracılığıylaApp
yapınıza eklemelisiniz. Uygulama temsilcisi swizzling'i de devre dışı bırakmalısınız. Daha fazla bilgi için SwiftUI talimatlarına bakın.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
- Varsayılan Firebase Uygulamasını kullanarak Bulut Depolama hizmetine bir referans alın:
Süratli
let storage = Storage.storage()
Amaç-C
FIRStorage *storage = [FIRStorage storage];
Bulut Depolamayı kullanmaya başlamaya hazırsınız!
Öncelikle Cloud Storage referansı oluşturmayı öğrenelim.
Gelişmiş kurulum
Ek kurulum gerektiren birkaç kullanım durumu vardır:
- Birden çok coğrafi bölgede Cloud Storage paketlerini kullanma
- Farklı depolama sınıflarında Cloud Storage gruplarını kullanma
- Aynı uygulamada kimliği doğrulanmış birden çok kullanıcıyla Cloud Storage gruplarını kullanma
Dünyanın her yerinden kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız, ilk kullanım durumu mükemmeldir. Örneğin, gecikmeyi azaltmak amacıyla bu bölgelerdeki kullanıcılara yönelik verileri depolamak için ABD, Avrupa ve Asya'da gruplar oluşturabilirsiniz.
Farklı erişim modellerine sahip verileriniz varsa, ikinci kullanım durumu yararlıdır. Örneğin: resimleri veya diğer sık erişilen içeriği depolayan çok bölgeli veya bölgesel bir grup ve kullanıcı yedeklerini veya diğer seyrek erişilen içeriği depolayan bir yakın hat veya soğuk hat grubu oluşturabilirsiniz.
Bu kullanım durumlarından herhangi birinde, birden çok Cloud Storage grubu kullanmak isteyeceksiniz.
Üçüncü kullanım durumu, Google Drive gibi, kullanıcıların birden çok oturum açmış hesaba (örneğin, bir kişisel hesap ve bir iş hesabı) sahip olmasına izin veren bir uygulama oluşturuyorsanız kullanışlıdır. Her ek hesabın kimliğini doğrulamak için özel bir Firebase Uygulaması örneği kullanabilirsiniz .
Birden fazla Bulut Depolama paketi kullanın
Yukarıda sağlanan varsayılandan farklı bir Cloud Storage grubu kullanmak veya tek bir uygulamada birden fazla Cloud Storage grubu kullanmak istiyorsanız, özel grubunuza başvuran bir FIRStorage
örneği oluşturabilirsiniz:
Süratli
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Amaç-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
İçe aktarılan paketlerle çalışma
Mevcut bir Cloud Storage paketini Firebase'e aktarırken, Google Cloud SDK'da bulunan gsutil
aracını kullanarak Firebase'e bu dosyalara erişme yetkisi 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 projelerinin girişinde açıklandığı gibi bulabilirsiniz.
Bu, Firebase'e izin verecek şekilde ayarlanmış varsayılan erişim kontrolüne sahip olduklarından, yeni oluşturulan grupları etkilemez. Bu geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.
Özel bir Firebase Uygulaması kullanın
Özel bir FirebaseApp
kullanarak daha karmaşık bir uygulama oluşturuyorsanız, bu uygulamayla başlatılan bir Storage
örneği oluşturabilirsiniz:
Süratli
// Get the default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp) // Get a non-default bucket from a custom FirebaseApp storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
Amaç-C
// Get the default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp]; // Get a non-default bucket from a custom FIRApp FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
Sonraki adımlar
Uygulamanızı başlatmaya hazırlanın:
Depolama klasörlerinize yalnızca uygulamalarınızın erişebilmesini sağlamak için Uygulama Kontrolü'nü etkinleştirin.
Google Cloud Console'da projeniz için bütçe uyarıları ayarlayın.
Birden fazla Firebase hizmetinde projenizin kullanımının genel bir resmini elde etmek için Firebase konsolundaki Kullanım ve faturalandırma kontrol panelini izleyin. Daha ayrıntılı kullanım bilgileri için Bulut Depolama Kullanımı kontrol panelini de ziyaret edebilirsiniz.
Firebase başlatma kontrol listesini inceleyin.