Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte wie Bilder und Videos hochladen und teilen. So können Sie Ihre Apps mit Rich-Media-Inhalten ausstatten. Ihre Daten werden an einem Google Cloud Storage-Bucket: ein Objektspeicherlösung im Exabyte-Bereich mit Hochverfügbarkeit und globaler Verfügbarkeit Redundanz. Mit Cloud Storage for Firebase können Sie diese Dateien direkt von Mobilgeräten und Webbrowsern aus sicher hochladen und problemlos mit schwankenden Verbindungen umgehen.
Vorbereitung
- Installieren Sie das Firebase SDK.
- Fügen Sie die App Ihrem Firebase-Projekt in der Firebase Console hinzu.
Cloud Storage-Standard-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole die Option Speicher aus. Klicken Sie dann auf Jetzt starten.
Lesen Sie die Mitteilungen zum Schutz Ihrer Cloud Storage-Daten mithilfe der Sicherheitsfunktionen Regeln. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff festlegen.
Wählen Sie einen Standort als Standardspeicherort aus. Cloud Storage Bucket.
Diese Standorteinstellung ist der standardmäßige Ressourcenstandort der Google Cloud Platform (GCP) für Ihr Projekt. Beachten Sie, dass dieser Speicherort für GCP-Dienste in Ihrem Projekt verwendet wird die eine Standorteinstellung erfordern, Cloud Firestore-Datenbank und Ihre App Engine App (Dies ist erforderlich, wenn Sie Cloud Scheduler verwenden.)
Wenn Sie keinen Speicherort auswählen können, verfügt Ihr Projekt bereits über einen standardmäßigen Speicherort für GCP-Ressourcen. Er wurde entweder während der Erstellung des Projekts oder beim Einrichten eines anderen Dienstes festgelegt, für den eine Speicherorteinstellung erforderlich ist.
Wenn Sie den Blaze-Tarif haben, können Sie mehrere Buckets erstellen, die jeweils einen eigenen Standort haben.
Klicken Sie auf Fertig.
Öffentlichen Zugriff einrichten
Cloud Storage for Firebase bietet eine deklarative Regelsprache, mit der Sie festlegen können, wie Ihre Daten strukturiert, indexiert und wann sie gelesen und geschrieben werden können. Standardmäßig sind Lese- und Schreibzugriff auf Cloud Storage ist eingeschränkt, sodass nur authentifizierte Nutzer Lese- oder Schreibrechte haben Daten. Wenn Sie Authentication nicht einrichten möchten, können Sie Regeln für den öffentlichen Zugriff konfigurieren.
Dadurch ist Cloud Storage für alle Nutzer zugänglich, auch für Nutzer, die Ihre App nicht verwenden. Sie sollten Cloud Storage daher wieder einschränken, wenn Sie die Authentifizierung einrichten.
Cloud Storage zu Ihrer App hinzufügen
Verwenden Sie Swift Package Manager, um Firebase-Abhängigkeiten zu installieren und zu verwalten.
- Öffnen Sie Ihr App-Projekt und gehen Sie in Xcode zu File > Add Packages (Datei > Pakete hinzufügen).
- Fügen Sie bei entsprechender Aufforderung das Firebase Apple Platforms SDK-Repository hinzu:
- Wählen Sie die Bibliothek Cloud Storage aus.
- Fügen Sie das Flag
-ObjC
dem Bereich Other Linker Flags der Build-Einstellungen des Ziels hinzu. - Wenn Sie fertig, beginnt Xcode automatisch, Ihre Abhängigkeiten im Hintergrund aufzulösen und herunterzuladen.
https://github.com/firebase/firebase-ios-sdk.git
Cloud Storage einrichten
Sie müssen Firebase initialisieren, bevor eine Firebase-Referenz erstellt oder verwendet wird. Wenn Sie dies bereits für eine andere Firebase-Funktion getan haben, können Sie diesen Schritt überspringen für diesen Schritt.
- Importieren Sie das
FirebaseCore
-Modul in IhreUIApplicationDelegate
sowie alle anderen Firebase-Module, die Ihr App-Delegat verwendet. So verwenden Sie beispielsweise Cloud Firestore und Authentication:SwiftUI
import SwiftUI import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Konfigurieren Sie eine freigegebene Instanz von
FirebaseApp
in derapplication(_:didFinishLaunchingWithOptions:)
-Methode Ihres App-Delegierten:SwiftUI
// Use Firebase library to configure APIs FirebaseApp.configure()
Swift
// Use Firebase library to configure APIs FirebaseApp.configure()
Objective-C
// Use Firebase library to configure APIs [FIRApp configure];
- Wenn Sie SwiftUI verwenden, müssen Sie einen Anwendungsdelegierten erstellen und über
UIApplicationDelegateAdaptor
oderNSApplicationDelegateAdaptor
an dasApp
-Objekt anhängen. Außerdem müssen Sie das App-Delegate-Swizzling deaktivieren. Weitere Informationen finden Sie in der SwiftUI-Anleitung.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Rufe mit der Standard-Firebase-App eine Referenz auf den Cloud Storage-Dienst ab:
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
Du kannst Cloud Storage jetzt verwenden.
Sehen wir uns zunächst an, wie Sie ein Cloud Storage-Element erstellen Referenz.
Erweiterte Einrichtung
Für einige Anwendungsfälle ist eine zusätzliche Einrichtung erforderlich:
- Cloud Storage Buckets werden verwendet in mehrere Regionen
- Cloud Storage-Buckets in verschiedenen Speicherklassen verwenden
- Verwendung von Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben App
Der erste Anwendungsfall eignet sich perfekt, wenn Sie Nutzer auf der ganzen Welt haben und ihre Daten in ihrer Nähe speichern möchten. Sie können z. B. Buckets in den USA, Europa und Asien, um Daten für Nutzer in diesen Regionen zu speichern und so die Latenz zu verringern.
Der zweite Anwendungsfall ist hilfreich, wenn Sie Daten mit unterschiedlichen Zugriffsmustern haben. Beispiel: Sie können einen mehrregionalen oder regionalen Bucket einrichten, in dem Bilder oder andere häufig aufgerufene Inhalte gespeichert werden, und einen Nearline- oder Coldline-Bucket, in dem Nutzersicherungen oder andere selten aufgerufene Inhalte gespeichert werden.
In beiden Fällen sollten Sie mehrere Cloud Storage-Buckets verwenden.
Der dritte Anwendungsfall ist nützlich, wenn Sie eine App wie Google Drive erstellen, Nutzer haben mehrere angemeldete Konten, z. B. ein privates Konto. und einem Arbeitskonto). Sie können eine benutzerdefinierte Firebase-App verwenden. Instanz, um jedes zusätzliche Konto zu authentifizieren.
Mehrere Cloud Storage-Buckets verwenden
Wenn Sie einen anderen Cloud Storage-Bucket als den oben genannten Standard verwenden oder mehrere Cloud Storage-Buckets in einer einzelnen App verwenden möchten, können Sie eine Instanz von FIRStorage
erstellen, die auf Ihren benutzerdefinierten Bucket verweist:
Swift
// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
Objective-C
// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
Mit importierten Buckets arbeiten
Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, müssen Sie Firebase über das gsutil
-Tool, das im Google Cloud SDK enthalten ist, Zugriff auf diese Dateien gewähren:
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Ihre Projektnummer finden Sie wie in der Einführung zum Firebase-Projekte
Dies wirkt sich nicht auf neu erstellte Buckets aus, da diese den Standardzugriff haben Steuerelement zum Zulassen von Firebase festgelegt. Diese Maßnahme ist vorübergehend und wird in Zukunft automatisch durchgeführt.
Benutzerdefinierte Firebase-App verwenden
Wenn du eine kompliziertere App mit einer benutzerdefinierten FirebaseApp
entwickelst, kannst du
Erstellen Sie eine Storage
-Instanz, die mit dieser Anwendung initialisiert wurde:
Swift
// 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")
Objective-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"];
Nächste Schritte
Bereiten Sie die Einführung Ihrer App vor:
Aktivieren Sie App Check, damit nur Ihre Apps auf Ihre Speicher-Buckets zugreifen können.
Budget einrichten Warnungen für Ihr Projekt in der Google Cloud-Konsole.
Nutzung und Abrechnung überwachen Dashboard in der Firebase-Konsole, um einen Überblick über Nutzung in mehreren Firebase-Diensten. Weitere Informationen finden Sie auch auf der Seite Cloud Storage Nutzung Dashboard für weitere Informationen ausführliche Nutzungsinformationen.
Sehen Sie sich die Checkliste für die Einführung von Firebase an.