Inizia a utilizzare Cloud Storage per C++

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.

Prima di iniziare

Prima di poter utilizzare Cloud Storage, devi:

  • Registra il tuo progetto C++ e configuralo per utilizzare Firebase.

    Se il tuo progetto C++ utilizza già Firebase, significa che è già registrato e configurato per Firebase.

  • Aggiungi l'SDK Firebase C++ al tuo progetto C++.

di Gemini Advanced.

Tieni presente che l'aggiunta di Firebase al tuo progetto C++ comporta attività sia nel Console Firebase e nel tuo progetto C++ aperto (ad esempio, scarichi di configurazione di Firebase dalla console, quindi spostali nel progetto C++).

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 tuo progetto ha già una località predefinita per le risorse Google Cloud. È 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 crea più bucket, ognuno con il proprio località.

  4. Fai clic su Fine.

Configura l'accesso pubblico

Cloud Storage for Firebase fornisce un linguaggio di regole dichiarative che consente di definire la struttura dei dati, come devono essere indicizzati e quando 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.

Crea e inizializza firebase::App

Prima di poter accedere a Cloud Storage, dovrai creare e inizializzare firebase::App.

Includi il file di intestazione per firebase::App:

#include "firebase/app.h"

Android

Crea l'firebase::App, passando l'ambiente JNI e un jobject riferimento all'attività Java come argomenti:

app = App::Create(AppOptions(), jni_env, activity);

iOS+

Crea firebase::App:

app = App::Create(AppOptions());

Accedere al corso firebase::storage::Storage

La classe firebase::storage::Storage è il punto di contatto per l'SDK C++ Cloud Storage.

Storage* storage = Storage::GetInstance(app);

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 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 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 utilizzare un'app Firebase personalizzata per autenticare ogni account aggiuntivo.

Utilizza 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 firebase::storage::Storage che fa riferimento al tuo bucket personalizzato:

// Get a non-default Cloud Storage bucket
Storage* storage = Storage::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 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 e verrà eseguite automaticamente in futuro.

Utilizza un'app Firebase personalizzata

Se stai creando un'app più complicata utilizzando un'firebase::App personalizzata, puoi creare un'istanza di firebase::storage::Storage inizializzata con questo dell'app:

// Get the default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp);

// Get a non-default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");

Passaggi successivi