Inizia a utilizzare Cloud Storage su Android

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

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

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

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

  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 è 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")
}
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.

Per prima cosa, scopriamo come creare una 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 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