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 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 sicher direkt von Mobilgeräten und Webbrowsern hochladen und so fehlerhafte Netzwerke problemlos verarbeiten.
Hinweis
Bevor Sie Cloud Storage verwenden können, müssen Sie Folgendes tun:
Registrieren Sie Ihr Unity-Projekt und konfigurieren Sie es für die Verwendung von Firebase.
Wenn Ihr Unity-Projekt bereits Firebase verwendet, ist es bereits für Firebase registriert und konfiguriert.
Wenn Sie kein Unity-Projekt haben, können Sie eine Beispiel-App herunterladen.
Fügen Sie Ihrem Unity-Projekt das Firebase Unity SDK (insbesondere
FirebaseStorage.unitypackage
) hinzu.
Das Hinzufügen von Firebase zu Ihrem Unity-Projekt umfasst Aufgaben sowohl in der FirebaseConsole als auch in Ihrem geöffneten Unity-Projekt. Sie laden beispielsweise Firebase-Konfigurationsdateien aus der Console herunter und verschieben sie dann in Ihr Unity-Projekt.
Für Ihr Firebase-Projekt muss das „Pay as you go“-Preismodell „Blaze“ aktiviert sein. Wenn Sie neu bei Firebase und Google Cloud sind, prüfen Sie, ob Sie Anspruch auf ein Guthaben in Höhe von 300 $ haben.
Standard-Cloud Storage-Bucket erstellen
Wählen Sie im Navigationsbereich der Firebase-Konsole die Option Speicher aus.
Wenn für Ihr Projekt noch nicht das „Pay as you go“-Preismodell „Blaze“ gilt, werden Sie aufgefordert, ein Upgrade Ihres Projekts 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 Standardformat für Bucket-Namen 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 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.
Auf die Klasse FirebaseStorage
zugreifen
Firebase.Storage.FirebaseStorage
ist der Einstiegspunkt für das Unity SDK Cloud Storage.
// Get a reference to the storage service, using the default Firebase App FirebaseStorage storage = FirebaseStorage.DefaultInstance;
Du kannst Cloud Storage jetzt verwenden.
Nächster Schritt? Cloud Storage-Referenz erstellen
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 eignet sich 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. Sie können beispielsweise einen multiregionalen oder regionalen Bucket einrichten, in dem Bilder oder andere häufig aufgerufene Inhalte gespeichert werden, sowie 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 FirebaseStorage
erstellen, die auf Ihren benutzerdefinierten Bucket verweist:
// Get a non-default Storage bucket var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");
Mit importierten Buckets arbeiten
Wenn Sie einen vorhandenen Cloud Storage-Bucket in Firebase importieren, müssen Sie Firebase mit dem 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.
Das gilt nicht für neu erstellte Buckets, da für diese standardmäßig Firebase zugelassen 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 FirebaseStorage
erstellen, die mit dieser App initialisiert wird:
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.GetInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");
Nächste Schritte
Einführung Ihrer App vorbereiten:
- Richten Sie in der Google Cloud Console Budgetbenachrichtigungen für Ihr Projekt ein.
- Über das Dashboard „Nutzung und Abrechnung“ in der Firebase-Konsole erhalten Sie einen Überblick über die Nutzung Ihres Projekts in mehreren Firebase-Diensten. Im Cloud Storage Dashboard zur Nutzung finden Sie detailliertere Informationen zur Nutzung.
- Checkliste für die Firebase-Einführung