Inizia a utilizzare Cloud Storage su Android

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

  1. Nel riquadro di navigazione della console Firebase, seleziona Storage, quindi fai clic su Inizia.

  2. 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.

  3. 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à.

  4. 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")
}
Cerchi un modulo della libreria specifico per Kotlin? A partire da Ottobre 2023 (Firebase BoM 32.5.0), gli sviluppatori Kotlin e Java possono dipendono dal modulo principale della libreria (per i dettagli, consulta Domande frequenti su questa iniziativa).

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:

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