Cloud Storage per Firebase ti consente di caricare e condividere contenuti generati dagli utenti, come immagini e video, che ti consentono di creare contenuti multimediali nelle tue app. I tuoi dati vengono archiviati in un bucket di Google Cloud Storage , una soluzione di archiviazione di oggetti su scala exabyte con disponibilità elevata e ridondanza globale. Cloud Storage per Firebase ti consente di caricare in modo sicuro questi file direttamente da dispositivi mobili e browser Web, gestendo facilmente reti irregolari.
Prerequisiti
- Installa l'SDK Firebase .
- Aggiungi la tua app al tuo progetto Firebase nella console Firebase .
Crea un bucket di archiviazione cloud predefinito
Dal pannello di navigazione della console Firebase , seleziona Archiviazione , quindi fai clic su Inizia .
Esamina i messaggi sulla protezione dei dati di Cloud Storage utilizzando le regole di sicurezza. Durante lo sviluppo, valuta la possibilità di impostare le tue regole per l'accesso pubblico .
Seleziona una posizione per il tuo bucket di archiviazione cloud predefinito.
Questa impostazione della posizione è la posizione della risorsa Google Cloud Platform (GCP) predefinita del tuo progetto . Tieni presente che questa posizione verrà utilizzata per i servizi GCP nel tuo progetto che richiedono un'impostazione della posizione, in particolare il database Cloud Firestore e l' app App Engine (richiesto se utilizzi Cloud Scheduler).
Se non sei in grado di selezionare una posizione, il tuo progetto ha già una posizione di risorsa GCP predefinita. È stato impostato durante la creazione del progetto o durante l'impostazione di un altro servizio che richiede un'impostazione della posizione.
Se hai un piano Blaze, puoi creare più bucket , ognuno con la propria posizione .
Fare clic su Fine .
Configura l'accesso pubblico
Cloud Storage for Firebase fornisce un linguaggio di regole dichiarative che ti consente di definire come dovrebbero essere strutturati i tuoi dati, come dovrebbero essere indicizzati e quando i tuoi dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura a Cloud Storage è limitato, quindi solo gli utenti autenticati possono leggere o scrivere dati. Per iniziare senza impostare l' autenticazione , puoi configurare le tue regole per l'accesso pubblico .
Ciò rende Cloud Storage aperto a chiunque, anche alle persone che non utilizzano la tua app, quindi assicurati di limitare nuovamente il tuo Cloud Storage quando configuri l'autenticazione.
Aggiungi Cloud Storage alla tua app
Usa Swift Package Manager per installare e gestire le dipendenze di Firebase.
- In Xcode, con il progetto dell'app aperto, vai su File > Aggiungi pacchetti .
- Quando richiesto, aggiungi il repository SDK delle piattaforme Apple Firebase:
- Scegli la libreria Cloud Storage.
- Al termine, Xcode inizierà automaticamente a risolvere e scaricare le tue dipendenze in background.
https://github.com/firebase/firebase-ios-sdk
Configura archiviazione cloud
È necessario inizializzare Firebase prima di creare o utilizzare qualsiasi riferimento Firebase. Se l'hai già fatto per un'altra funzione Firebase, puoi saltare questo passaggio.
- Importa il modulo
FirebaseCore
nel tuoUIApplicationDelegate
, così come qualsiasi altro modulo Firebase utilizzato dal delegato dell'app. Ad esempio, per utilizzare Cloud Firestore e l'autenticazione:Veloce
import FirebaseCore import FirebaseFirestore import FirebaseAuth // ...
Obiettivo-C
@import FirebaseCore; @import FirebaseFirestore; @import FirebaseAuth; // ...
- Configura un'istanza condivisa
FirebaseApp
, in genere nell'applicazione della tua appapplication:didFinishLaunchingWithOptions:
metodo:Veloce
// Use Firebase library to configure APIs FirebaseApp.configure()
Obiettivo-C
// Use Firebase library to configure APIs [FIRApp configure];
- Ottieni un riferimento al servizio Cloud Storage, utilizzando l'app Firebase predefinita:
Veloce
let storage = Storage.storage()
Obiettivo-C
FIRStorage *storage = [FIRStorage storage];
Sei pronto per iniziare a utilizzare Cloud Storage!
Per prima cosa, impariamo come creare un riferimento di Cloud Storage .
Impostazioni avanzate
Ci sono alcuni casi d'uso che richiedono una configurazione aggiuntiva:
- Utilizzo dei bucket di Cloud Storage in più aree geografiche
- Utilizzo dei bucket di Cloud Storage in diverse classi di storage
- Utilizzo dei bucket di Cloud Storage con più utenti autenticati nella stessa app
Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e desideri archiviare i loro dati vicino a loro. Ad esempio, puoi creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati per gli utenti in quelle regioni per ridurre la latenza.
Il secondo caso d'uso è utile se si dispone di dati con modelli di accesso diversi. Ad esempio: puoi impostare un bucket multiregionale o regionale che archivia le immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che archivia i backup degli utenti o altri contenuti a cui si accede di rado.
In uno di questi casi d'uso, ti consigliamo di utilizzare più bucket di Cloud Storage .
Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di avere più account collegati (ad esempio, un account personale e un account di lavoro). Puoi utilizzare un'istanza dell'app Firebase personalizzata per autenticare ogni account aggiuntivo.
Utilizza più bucket di Cloud Storage
Se desideri utilizzare un bucket Cloud Storage diverso da quello predefinito fornito sopra o utilizzare più bucket Cloud Storage in una singola app, puoi creare un'istanza di FIRStorage
che faccia riferimento al tuo bucket personalizzato:
Veloce
// Get a non-default Cloud Storage bucket storage = Storage.storage(url:"gs://my-custom-bucket")
Obiettivo-C
// Get a non-default Cloud Storage bucket FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
Lavorare con i bucket importati
Quando importi un bucket Cloud Storage esistente in Firebase, dovrai concedere a Firebase la possibilità di accedere a questi file utilizzando lo strumento gsutil
, incluso in Google Cloud SDK :
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Puoi trovare il numero del tuo progetto come descritto nell'introduzione ai progetti Firebase .
Ciò non influisce sui bucket appena creati, poiché hanno il controllo di accesso predefinito impostato per consentire Firebase. Questa è una misura temporanea e verrà eseguita automaticamente in futuro.
Usa un'app Firebase personalizzata
Se stai creando un'app più complicata utilizzando una FirebaseApp
personalizzata , puoi creare un'istanza di Storage
inizializzata con tale app:
Veloce
// 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")
Obiettivo-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"];
Prossimi passi
Preparati ad avviare la tua app:
Abilita App Check per garantire che solo le tue app possano accedere ai tuoi bucket di archiviazione.
Imposta avvisi di budget per il tuo progetto in Google Cloud Console.
Monitora il dashboard di utilizzo e fatturazione nella console Firebase per avere un quadro generale dell'utilizzo del tuo progetto su più servizi Firebase. Puoi anche visitare il dashboard di utilizzo del cloud storage per informazioni più dettagliate sull'utilizzo.
Esamina l'elenco di controllo per l'avvio di Firebase .