Google si impegna a promuovere l'equità razziale per le comunità nere. Vedi come.
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Inizia con Cloud Storage su Android

Cloud Storage per Firebase ti consente di caricare e condividere contenuti generati dagli utenti, come immagini e video, che ti consentono di creare contenuti multimediali nelle tue app. I tuoi dati sono archiviati in un bucket Google Cloud Storage , una soluzione di archiviazione di oggetti in scala exabyte con elevata disponibilità e ridondanza globale. Cloud Storage ti consente di caricare in modo sicuro questi file direttamente da dispositivi mobili e browser Web, gestendo con facilità reti imprevedibili.

Prerequisiti

Se non lo hai già fatto, aggiungi Firebase al tuo progetto Android .

Nel file build.gradle livello di build.gradle , assicurati di includere il repository Maven di Google nelle sezioni buildscript e allprojects .

Creare un bucket di archiviazione predefinito

  1. Dal riquadro di navigazione della console di Firebase , selezionare Archiviazione , quindi fare clic su Inizia .

  2. Rivedere i messaggi sulla protezione dei dati di archiviazione utilizzando le regole di sicurezza. Durante lo sviluppo, considera la possibilità di impostare le tue regole per l'accesso del pubblico .

  3. Seleziona una posizione per il secchio di archiviazione predefinito.

    • Questa impostazione di posizione è la posizione della risorsa Google Cloud Platform (GCP) predefinita del tuo progetto. Si noti che questa posizione verrà utilizzata per i servizi GCP nel progetto che richiedono un'impostazione di posizione, in particolare il database Cloud Firestore e l' app App Engine (necessaria se si utilizza Cloud Scheduler).

    • Se non riesci a selezionare un percorso, il tuo progetto ha già un percorso di risorse GCP predefinito. È stato impostato durante la creazione del progetto o durante l'impostazione di un altro servizio che richiede un'impostazione della posizione.

    Se fai parte del piano Blaze, puoi creare più bucket , ognuno con la propria posizione .

  4. Fai clic su Fine .

Imposta l'accesso pubblico

Cloud Storage for Firebase fornisce un linguaggio di regole dichiarativo che consente di definire come devono essere strutturati i dati, come devono essere indicizzati e quando i dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura all'archiviazione è limitato, pertanto solo gli utenti autenticati possono leggere o scrivere dati. Per iniziare senza impostare l' autenticazione , è possibile configurare le regole per l'accesso pubblico .

Questo rende lo spazio di archiviazione aperto a chiunque, anche alle persone che non utilizzano l'app, quindi assicurati di limitare nuovamente lo spazio di archiviazione quando configuri l'autenticazione.

Aggiungi Cloud Storage per Firebase SDK alla tua app

Aggiungi la dipendenza per la libreria Android di Cloud Storage per Firebase al tuo file Gradle (a livello di app) del modulo (di solito app/build.gradle ):

Giava

 implementation 'com.google.firebase:firebase-storage:19.1.1'
 

Kotlin + KTX

 implementation 'com.google.firebase:firebase-storage-ktx:19.1.1'
 

Configura Cloud Storage

Il primo passo per accedere al bucket di archiviazione è creare un'istanza di FirebaseStorage :

Giava

FirebaseStorage storage = FirebaseStorage.getInstance();

Kotlin + KTX

storage = Firebase.storage

Sei pronto per iniziare a utilizzare Cloud Storage!

Innanzitutto, impariamo come creare un riferimento di archiviazione cloud .

Impostazioni avanzate

Esistono alcuni casi d'uso che richiedono un'installazione aggiuntiva:

Il primo caso d'uso è perfetto se hai utenti in tutto il mondo e desideri archiviare i loro dati vicino a loro. Ad esempio, è possibile creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati per gli utenti in tali aree per ridurre la latenza.

Il secondo caso d'uso è utile se si dispone di dati con schemi di accesso diversi. Ad esempio: è possibile impostare un bucket multi-regionale o regionale che memorizza immagini o altri contenuti a cui si accede frequentemente e un bucket nearline o coldline che memorizza i backup degli utenti o altri contenuti a cui si accede raramente.

In uno di questi casi d'uso, ti consigliamo di utilizzare più bucket di archiviazione .

Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di disporre di più account di accesso (ad esempio, un account personale e un account aziendale). Puoi utilizzare un'istanza dell'app Firebase personalizzata per autenticare ciascun account aggiuntivo.

Usa più secchi di archiviazione

Se si desidera utilizzare un bucket di archiviazione diverso da quello predefinito sopra o utilizzare più bucket di archiviazione in un'unica app, è possibile creare un'istanza di FirebaseStorage che fa riferimento al bucket personalizzato:

Giava

// Get a non-default Storage bucket
FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");

Kotlin + KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

Lavorare con i secchi importati

Quando importi un bucket di archiviazione cloud esistente in Firebase, dovrai concedere a Firebase la possibilità di accedere a questi file utilizzando lo strumento gsutil , incluso in Google Cloud SDK :

gsutil -m acl ch -r -u firebase-storage@system.gserviceaccount.com:O gs://<your-cloud-storage-bucket>

Ciò non influisce sui bucket appena creati, poiché quelli hanno il controllo di accesso predefinito impostato per consentire Firebase. Questa è una misura temporanea e verrà eseguita automaticamente in futuro.

Usa un'app Firebase personalizzata

Se stai creando un'app più complicata utilizzando un'app FirebaseApp personalizzata, puoi creare un'istanza di FirebaseStorage inizializzata con quell'app:

Giava

// 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");

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")

Prossimi passi