Mit Cloud Storage for Firebase können Sie von Nutzern erstellte Inhalte wie Bilder und Videos hochladen und freigeben und so Rich Media-Inhalte in Ihre Apps einbinden. Ihre Daten werden in einem Google Cloud Storage-Bucket gespeichert, einer Objektspeicherlösung im Exabyte-Maßstab mit hoher Verfügbarkeit und globaler 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.
Hinweis
Falls noch nicht geschehen, lesen Sie den Startleitfaden für Apple-Plattform-Apps. Dazu zählen:
Firebase-Projekt erstellen
App der Apple-Plattform beim Projekt registrieren und die App mit Firebase verbinden, indem Sie der App die Firebase-Bibliothek und Ihre Firebase-Konfigurationsdatei (
GoogleService-Info.plist
) hinzufügen
Ihr Firebase-Projekt muss den Blaze-Tarif (Pay-as-you-go) verwenden. Wenn Sie Firebase und Google Cloud noch nicht verwenden, prüfen Sie, ob Sie Anspruch auf ein Guthaben in Höhe von 300$ haben.
Cloud Storage-Standard-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole die Option Speicher aus.
Wenn für Ihr Projekt noch kein Blaze-Tarif mit Abrechnung nach Verbrauch gilt, werden Sie aufgefordert, ein Upgrade für Ihr Projekt durchzuführen.
Klicken Sie auf Jetzt starten.
Wählen Sie einen Speicherort für den Standard-Bucket aus.
Für Buckets in
,US-CENTRAL1
undUS-EAST1
kann der Tarif „Immer kostenlos“ für Google Cloud Storage genutzt werden. Für alle anderen Standorte gelten die Google Cloud StoragePreise und Nutzungsbedingungen.US-WEST1
Sie können später mehrere Buckets mit jeweils einem eigenen Standort erstellen.
Konfigurieren Sie die Firebase Security Rules für Ihren Standard-Bucket. Während der Entwicklung sollten Sie Regeln für den öffentlichen Zugriff festlegen.
Klicken Sie auf Fertig.
Sie können den Bucket jetzt auf dem Tab Cloud Storage Dateien der Firebase-Konsole aufrufen. Das Format des Standard-Bucket-Namens ist PROJECT_ID.firebasestorage.app
Ö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 ist der Lese- und Schreibzugriff auf Cloud Storage eingeschränkt, sodass nur authentifizierte Nutzer Daten lesen oder schreiben können. Wenn Sie Authentication nicht einrichten möchten, können Sie Regeln für den öffentlichen Zugriff konfigurieren.
Dadurch wird Cloud Storage für jeden zugänglich, auch für Personen, die Ihre Anwendung nicht verwenden. Schränken Sie Cloud Storage also noch einmal ein, 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
im Abschnitt Other Linker Flags (Weitere Verknüpfungsmerker) 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 in Ihrer App einrichten
Initialisieren Sie Firebase, bevor eine Firebase-Referenz erstellt oder verwendet wird.
Möglicherweise haben Sie das bereits getan, wenn Sie bereits ein anderes Firebase-Produkt eingerichtet haben. Sie müssen die
FirebaseStorage
-Bibliothek jedoch Ihrer Importliste hinzufügen.Importieren Sie das
FirebaseCore
-Modul und dasFirebaseStorage
-Modul in IhreUIApplicationDelegate
. Wir empfehlen außerdem,FirebaseAuth
hinzuzufügen.SwiftUI
import SwiftUI import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Swift
import FirebaseCore import FirebaseStorage import FirebaseAuth // ...
Objective-C
@import FirebaseCore; @import FirebaseStorage; @import FirebaseAuth; // ...
Konfigurieren Sie eine freigegebene Instanz von
FirebaseApp
in derapplication(_:didFinishLaunchingWithOptions:)
-Methode Ihres App-Delegats: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];
(Nur SwiftUI) Erstellen Sie einen Anwendungsdelegierten und hängen Sie ihn mit
UIApplicationDelegateAdaptor
oderNSApplicationDelegateAdaptor
an dasApp
-Objekt an. Außerdem müssen Sie das Swapping des App-Delegierten deaktivieren. Weitere Informationen findest du 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() } } } }
Rufen Sie mit der standardmäßigen Firebase-App einen Verweis auf den Cloud Storage-Dienst ab.
Achten Sie darauf, dass die Firebase-Konfigurationsdatei (
GoogleService-Info.plist
) in der Codebasis Ihrer Anwendung mit dem Namen Ihres Standard-Cloud Storage-Buckets aktualisiert wurde.Verwenden Sie diese heruntergeladene Konfigurationsdatei, um die vorhandene
GoogleService-Info.plist
-Datei im Stammverzeichnis Ihres Xcode-Projekts zu ersetzen. Wenn Sie dazu aufgefordert werden, wählen Sie aus, dass die Konfigurationsdatei allen Zielen hinzugefügt werden soll.Achten Sie darauf, dass nur die aktuellste heruntergeladene Konfigurationsdatei in Ihrer App vorhanden ist und dass an den Dateinamen keine zusätzlichen Zeichen wie
(2)
angehängt werden.
Rufen Sie mit der Standard-Firebase App eine Referenz zum Cloud Storage-Dienst ab:
Swift
let storage = Storage.storage()
// Alternatively, explicitly specify the bucket name URL. storage = Storage.storage(url:"gs://BUCKET_NAME")
Objective-C
FIRStorage *storage = [FIRStorage storage];
// Alternatively, explicitly specify the bucket name URL. // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];
Du kannst Cloud Storage jetzt verwenden.
Nächster Schritt? Weitere Informationen zum Erstellen einer Cloud Storage-Referenz
Erweiterte Einrichtung
Für einige Anwendungsfälle ist eine zusätzliche Einrichtung erforderlich:
- Cloud Storage-Buckets in mehreren geografischen Regionen verwenden
- Cloud Storage-Buckets in verschiedenen Speicherklassen verwenden
- Verwendung von Cloud Storage-Buckets mit mehreren authentifizierten Nutzern in derselben App
Der erste Anwendungsfall ist perfekt, wenn Sie Nutzer auf der ganzen Welt haben und ihre Daten in ihrer Nähe speichern möchten. Sie können beispielsweise Buckets in den USA, Europa und Asien erstellen, um Daten für Nutzer in diesen Regionen zu speichern und so die Latenz zu reduzieren.
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 Anwendung wie Google Drive erstellen, mit der Nutzer mehrere angemeldete Konten haben können (z. B. ein privates und ein Arbeitskonto). Sie können eine benutzerdefinierte Firebase App-Instanz verwenden, 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://BUCKET_NAME
Sie finden Ihre Projektnummer wie in der Einführung in Firebase-Projekte beschrieben.
Dies wirkt sich nicht auf neu erstellte Buckets aus, da für diese standardmäßig Firebase als Zugriffssteuerung festgelegt ist. Dies ist eine vorübergehende Maßnahme, die in Zukunft automatisch durchgeführt wird.
Benutzerdefinierte Firebase App verwenden
Wenn Sie eine komplexere App mit einer benutzerdefinierten FirebaseApp
erstellen, können Sie eine Instanz von Storage
erstellen, die mit dieser App initialisiert wird:
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
Einführung Ihrer App vorbereiten:
Aktivieren Sie App Check, damit nur Ihre Anwendungen auf Ihre Storage-Buckets zugreifen können.
Richten Sie in der Google Cloud-Konsole Budgetbenachrichtigungen für Ihr Projekt ein.
Überwachen Sie das Dashboard Nutzung und Abrechnung in der Firebase-Konsole, um sich einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten zu verschaffen. Ausführlichere Informationen finden Sie im Cloud Storage-Nutzungsdashboard.