Inizia con Cloud Storage su iOS

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 avanzati nelle tue app. I vostri dati sono memorizzati in un Google Cloud Storage secchio - una soluzione di storage oggetto scala Exabyte con alta disponibilità e ridondanza globale. Cloud Storage per Firebase ti consente di caricare in modo sicuro questi file direttamente da dispositivi mobili e browser Web, gestendo facilmente reti irregolari.

Prerequisiti

  1. Installare il Firebase SDK .
  2. Aggiungi la tua app per il vostro progetto Firebase nella console Firebase .

Crea un bucket Cloud Storage predefinito

  1. Dal pannello di navigazione della console Firebase , selezionare bagagli, quindi fare clic su Inizia.

  2. Esamina i messaggi sulla protezione dei dati di Cloud Storage utilizzando le regole di sicurezza. Durante lo sviluppo, prendere in considerazione la creazione di proprie regole per l'accesso pubblico .

  3. Selezionare un percorso per il secchio di default Cloud Storage.

    • Questa impostazione posizione è del progetto di default posizione risorsa Google Cloud Platform (GCP) . Si noti che questa posizione sarà utilizzata per i servizi GCP nel progetto che richiedono un'impostazione di località, in particolare, il vostro cloud FireStore base di dati e la vostra App Engine app (che è necessario se si utilizza nube di pianificazione).

    • Se non sei in grado di selezionare una posizione, il tuo progetto ha già una posizione predefinita per le risorse GCP. È stato impostato durante la creazione del progetto o durante la configurazione di un altro servizio che richiede un'impostazione della posizione.

    Se siete sul piano di Blaze, è possibile creare più secchi , ciascuno con la propria posizione .

  4. Fai clic su Fine.

Configura l'accesso pubblico

Cloud Storage per Firebase fornisce un linguaggio di regole dichiarative che ti consente di definire come dovrebbero essere strutturati i tuoi dati, come dovrebbero essere indicizzati e quando i tuoi dati possono essere letti e scritti. Per impostazione predefinita, l'accesso in lettura e scrittura a Cloud Storage è limitato in modo che solo gli utenti autenticati possano leggere o scrivere dati. Per iniziare senza la creazione di autenticazione , è possibile configurare le regole per l'accesso del pubblico .

Ciò rende Cloud Storage aperto a chiunque, anche alle persone che non utilizzano la tua app, quindi assicurati di limitare nuovamente il tuo Cloud Storage quando configuri l'autenticazione.

Aggiungi Cloud Storage alla tua app

  1. Aggiungere la dipendenza per Cloud Storage a del progetto Podfile :

    pod 'Firebase/Storage'
    
  2. Eseguire pod install e aprire il creato .xcworkspace file.

Configura l'archiviazione cloud

Devi inizializzare Firebase prima di creare o utilizzare qualsiasi riferimento Firebase. Se lo hai già fatto per un'altra funzione Firebase, puoi saltare questo passaggio.

  1. Importare il modulo Firebase nella vostra UIApplicationDelegate :

    Swift

    import Firebase

    Obiettivo-C

    @import Firebase;
  2. Configurare un FirebaseApp istanza condivisa, di solito in della tua app application:didFinishLaunchingWithOptions: Metodo:

    Swift

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Obiettivo-C

    // Use Firebase library to configure APIs
    [FIRApp configure];
  3. Ottieni un riferimento al servizio Cloud Storage, utilizzando l'app Firebase predefinita:

    Swift

    let storage = Storage.storage()
    

    Obiettivo-C

    FIRStorage *storage = [FIRStorage storage];
    

Sei pronto per iniziare a utilizzare Cloud Storage!

In primo luogo, cerchiamo di imparare a creare un riferimento Cloud Storage .

Impostazioni avanzate

Esistono alcuni casi d'uso che richiedono una configurazione 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, puoi creare bucket negli Stati Uniti, in Europa e in Asia per archiviare i dati per gli utenti in quelle regioni per ridurre la latenza.

Il secondo caso d'uso è utile se si dispone di dati con modelli di accesso diversi. Ad esempio: puoi configurare un bucket multiregionale o regionale che archivia immagini o altri contenuti a cui si accede di frequente e un bucket nearline o coldline che archivia i backup degli utenti o altri contenuti a cui si accede di rado.

In uno di questi casi d'uso, ti consigliamo di utilizzare più secchi Cloud Storage .

Il terzo caso d'uso è utile se stai creando un'app, come Google Drive, che consente agli utenti di accedere a più account (ad esempio, un account personale e un account di lavoro). È possibile utilizzare un Firebase App personalizzata esempio per autenticare ogni account aggiuntivo.

Utilizza più bucket Cloud Storage

Se si desidera utilizzare un Cloud Storage secchio diversa da quella predefinita di cui sopra, o utilizzare più secchi di cloud storage in una singola applicazione, è possibile creare un'istanza di FIRStorage che i riferimenti il secchio personalizzato:

Swift

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

Obiettivo-C

// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

Utilizzo di bucket importati

Durante l'importazione di un secchio di Cloud Storage esistente in Firebase, dovrete concedere Firebase la possibilità di accedere a questi file utilizzando il gsutil strumento, incluso nel Google Cloud SDK :

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

È possibile trovare il numero di progetto come descritto nella premessa ai progetti Firebase .

Ciò non influisce sui bucket appena creati, poiché questi 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 si sta costruendo un'applicazione più complicato con un costume FirebaseApp , è possibile creare un'istanza di Storage inizializzato con quella app:

Swift

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

Obiettivo-C

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

Prossimi passi