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 da dispositivi mobili e browser web, gestendo facilmente le reti con segnale debole.
Prerequisiti
Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android.
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, considera configurando le regole per l'accesso pubblico.
Seleziona una località per la tua predefinita. Cloud Storage bucket.
Questa impostazione di geolocalizzazione corrisponde a quella del progetto località Google Cloud Platform Cloud. 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 progetto ha una località delle risorse Google Cloud predefinita. È 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 creare più bucket, ciascuno con la propria posizione.
Fai clic su Fine.
Configura l'accesso pubblico
Cloud Storage for Firebase offre un linguaggio con 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 l'SDK Cloud Storage alla tua app
Nel file Gradle del modulo (a livello di app) (di solito<project>/<app-module>/build.gradle.kts
o
<project>/<app-module>/build.gradle
),
aggiungi la dipendenza per la libreria Cloud Storage per Android. Ti consigliamo di utilizzare
Firebase Android BoM
per controllare il controllo
delle versioni delle librerie.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.2.0")) // Add the dependency for the Cloud Storage library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage") }
Se utilizzi Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.
(alternativa) Aggiungi dipendenze della libreria Firebase senza utilizzare il BoM
Se scegli di non utilizzare Firebase BoM, devi specificare ogni versione della libreria Firebase nella sua linea di dipendenza.
Tieni presente che se utilizzi più librerie Firebase nella tua app, ti consigliamo consiglia di utilizzare BoM per gestire le versioni della libreria, in modo da garantire che tutte le versioni siano compatibili.
dependencies { // Add the dependency for the Cloud Storage library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-storage:21.0.0") }
Configura Cloud Storage
Il primo passaggio per accedere al tuo bucket Cloud Storage consiste nel creare un
istanza di FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Puoi iniziare a usare Cloud Storage.
Per prima cosa, scopriamo come creare una Cloud Storage riferimento.
Configurazione avanzata
Esistono alcuni casi d'uso che richiedono una configurazione aggiuntiva:
- Utilizzo di bucket Cloud Storage in più regioni geografiche
- Utilizzo di Cloud Storage bucket in diverse classi di archiviazione
- Utilizzo di Cloud Storage bucket 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 degli utenti in queste regioni e 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 Usa un'app Firebase personalizzata per autenticare ogni account aggiuntivo.
Utilizzare più bucket Cloud Storage
Se vuoi 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 FirebaseStorage
che fa riferimento al tuo bucket personalizzato:
Kotlin+KTX
// Get a non-default Storage bucket val storage = Firebase.storage("gs://my-custom-bucket")
Java
// Get a non-default Storage bucket FirebaseStorage storage = FirebaseStorage.getInstance("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 che verrà eseguita automaticamente in futuro.
Utilizza un'app Firebase personalizzata
Se stai creando un'app più complicata utilizzando un'FirebaseApp
personalizzata, puoi
crea un'istanza di FirebaseStorage
inizializzata con quell'app:
Kotlin+KTX
// Get the default bucket from a custom FirebaseApp val storage = Firebase.storage(customApp!!) // Get a non-default bucket from a custom FirebaseApp val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")
Java
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.getInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");
Passaggi successivi
Preparati al lancio dell'app:
Attiva App Check per assicurarti che soltanto 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 Cloud Storage dashboard Utilizzo per informazioni più dettagliate sull'utilizzo.