Cloud Storage for Firebase ti consente di caricare e condividere contenuti generati dagli utenti, come immagini e video, in modo da creare contenuti multimediali nelle tue 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
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 Storage, quindi fai clic su Inizia.
Esamina i messaggi sulla protezione dei dati di Cloud Storage tramite le regole di sicurezza. 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 progetto è già ha una località delle risorse Google Cloud predefinita. È stata impostata durante la creazione del progetto o durante la configurazione di un altro servizio che richiede l'impostazione della località.
Se hai scelto il piano Blaze, puoi creare più bucket, ognuno con il proprio località.
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 sarà aperto a chiunque, anche a chi non utilizza la tua app, quindi assicurati di limitare di nuovo Cloud Storage quando configuri l'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 la versione della libreria.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.4.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") }
Con Firebase Android BoM, la tua app utilizzerà sempre versioni compatibili delle librerie Firebase per 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 nella tua app utilizzi più librerie Firebase, ti consigliamo vivamente di utilizzare BoM per gestire le versioni delle librerie, in modo da garantire la compatibilità di tutte le versioni.
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.1") }
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.
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 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 memorizzare i loro dati nelle vicinanze. 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 che memorizza immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che memorizza i backup degli utenti o altri contenuti a cui si accede di rado.
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 a cui hanno eseguito l'accesso (ad esempio, un account personale e un account di lavoro). Puoi utilizzare un'istanza dell'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 grant Firebase la possibilità di accedere a questi file utilizzando lo strumento gsutil
, incluso nell'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 progetto come descritto nell'introduzione ai progetti Firebase.
Ciò non influisce sui bucket appena creati, in quanto per questi il controllo dell'accesso predefinito è impostato su Consenti 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 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 a lanciare l'app:
Attiva App Check per assicurarti che soltanto le app possono accedere ai bucket di archiviazione.
Configura gli avvisi sul budget 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.
Consulta l'elenco di controllo per il lancio di Firebase.