Cloud Storage for Firebase ti consente di caricare e condividere contenuti generati dagli utenti, ad esempio come immagini e video, per consentirti di sviluppare contenuti rich media app. I tuoi dati vengono archiviati in un Google Cloud Storage: un soluzione di archiviazione di oggetti con scalabilità in exabyte ad alta disponibilità e ridondanza. Cloud Storage for Firebase ti consente di caricare questi file in modo sicuro direttamente dai dispositivi mobili e dai browser web, gestendo le reti instabile con e la semplicità d'uso.
Prerequisiti
- Installa l'SDK Firebase.
- Aggiungi l'app al progetto Firebase nella console Firebase.
Crea un bucket Cloud Storage predefinito
Nel riquadro di navigazione della console Firebase, seleziona Spazio di archiviazione. quindi fai clic su Inizia.
Leggi i messaggi sulla protezione dei tuoi dati di Cloud Storage tramite le funzionalità di sicurezza le regole del caso. Durante lo sviluppo, ti consigliamo di configurare le regole per l'accesso pubblico.
Seleziona una località per la tua predefinita. Cloud Storage bucket.
Questa impostazione di località corrisponde alla località predefinita della risorsa Google Cloud (Google Cloud) del tuo progetto. Tieni presente che questa località verrà utilizzata per i servizi Google Cloud nel tuo progetto che richiedono l'impostazione della località, in particolare Cloud Firestore e i tuoi App App Engine (obbligatorio se utilizzi Cloud Scheduler).
Se non riesci a selezionare una località, significa che il tuo progetto ha già una località predefinita per le risorse Google Cloud. È stato impostato durante il progetto creazione o configurazione di un altro servizio che richiede una posizione dell'ambientazione.
Se hai scelto il piano Blaze, puoi crea più bucket, ognuno con il proprio località.
Fai clic su Fine.
Configura l'accesso pubblico
Cloud Storage for Firebase offre un linguaggio di regole dichiarative che ti consente per definire come strutturare i dati, come indicizzare e quando i dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura Cloud Storage è limitato, quindi solo gli utenti autenticati possono leggere o scrivere e i dati di Google Cloud. Per iniziare senza configurare Authentication, puoi: configurare le regole per l'accesso pubblico.
In questo modo Cloud Storage è disponibile per tutti, anche per le persone che non utilizzano il tuo quindi assicurati di limitare nuovamente Cloud Storage durante la configurazione 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 a File > Aggiungi pacchetti.
- Quando richiesto, aggiungi il repository dell'SDK delle piattaforme Apple Firebase:
- Scegli la libreria Cloud Storage.
- Aggiungi il flag
-ObjC
alla sezione Altri flag linker delle impostazioni di build del target. - Al termine, Xcode inizierà automaticamente a risolvere e scaricare il le dipendenze in background.
https://github.com/firebase/firebase-ios-sdk.git
Configura Cloud Storage
Devi inizializzare Firebase prima che venga creato o utilizzato un riferimento Firebase. Se l'hai già fatto per un'altra funzionalità di Firebase, puoi saltare questo passaggio.
- Importa il modulo
FirebaseCore
nel tuoUIApplicationDelegate
e tutti gli altri Moduli Firebase utilizzati dal delegato della tua app. Ad esempio, per utilizzare Cloud Firestore e 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; // ...
- Configura un
FirebaseApp
nel delegato della tua applicazione Metodoapplication(_:didFinishLaunchingWithOptions:)
: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];
- Se utilizzi SwiftUI, devi creare un delegato per l'applicazione e collegarlo
al tuo struct
App
tramiteUIApplicationDelegateAdaptor
oppureNSApplicationDelegateAdaptor
. Devi anche disattivare lo swizzling del delegato dell'app. Per maggiori informazioni, consulta le istruzioni di SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Ottieni un riferimento al servizio Cloud Storage utilizzando l'app Firebase predefinita:
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
Puoi iniziare a usare Cloud Storage.
Innanzitutto, scopriamo come creare un Cloud Storage riferimento.
Configurazione avanzata
Esistono alcuni casi d'uso che richiedono una configurazione aggiuntiva:
- Utilizzo di Cloud Storage bucket in più regioni geografiche
- Utilizzo di bucket Cloud Storage in classi di archiviazione diverse
- Utilizzo di bucket Cloud Storage con più utenti autenticati nella stessa app
Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e vuoi archiviare i propri dati accanto a loro. Ad esempio, puoi creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati per gli utenti di quelle regioni al fine di ridurre la latenza.
Il secondo caso d'uso è utile se hai dati con pattern di accesso diversi. Ad esempio, puoi configurare un bucket multiregionale o regionale in cui archiviare immagini o altri contenuti a cui si accede frequentemente e un bucket Nearline o Coldline in cui vengono archiviati backup degli utenti o altri contenuti a cui si accede raramente.
In entrambi i casi d'uso, ti consigliamo usa più bucket Cloud Storage.
Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di avere più account su cui hanno eseguito l'accesso (ad esempio un account personale e un account di lavoro). Puoi utilizzare un'app Firebase personalizzata per autenticare ogni account aggiuntivo.
Utilizza più bucket Cloud Storage
Se vuoi utilizzare un bucket Cloud Storage diverso da quello predefinito fornito sopra o più bucket Cloud Storage in un'unica app, puoi creare un'istanza di FIRStorage
che fa riferimento al tuo bucket personalizzato:
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"];
Utilizzo dei bucket importati
Quando importi un bucket Cloud Storage esistente in Firebase, devi
concedere a Firebase la possibilità di accedere a tali file utilizzando
gsutil
, incluso in
SDK Google Cloud:
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 alle progetti Firebase.
Ciò non influisce sui bucket appena creati, poiché hanno l'accesso predefinito per consentire a Firebase. Si tratta di una misura temporanea e verrà eseguite automaticamente in futuro.
Utilizza un'app Firebase personalizzata
Se stai creando un'app più complicata utilizzando un'FirebaseApp
personalizzata, puoi
crea un'istanza di Storage
inizializzata con quell'app:
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"];
Passaggi successivi
Preparati al lancio dell'app:
Attiva App Check per assicurarti che solo le app possono accedere ai bucket di archiviazione.
Imposta il budget avvisi per il tuo progetto nella console Google Cloud.
Monitorare l'utilizzo e la fatturazione dashboard nella console Firebase per avere un quadro generale per l'utilizzo in più servizi Firebase. Puoi anche visitare la pagina Cloud Storage Utilizzo dashboard per saperne di più informazioni dettagliate sull'utilizzo.