Cloud Storage for Firebase vous permet d'importer et de partager du contenu généré par les utilisateurs, comme des images et des vidéos, ce qui vous permet d'intégrer du contenu multimédia enrichi dans vos applications. Vos données sont stockées dans un Google Cloud Storage bucket, une solution de stockage d'objets à l'échelle de l'exaoctet offrant une haute disponibilité et une redondance mondiale. Cloud Storage for Firebase vous permet d'importer ces fichiers de manière sécurisée directement depuis des appareils mobiles et des navigateurs Web, et de gérer facilement les réseaux instables.
Avant de commencer
Avant de pouvoir utiliser Cloud Storage, vous devez effectuer les opérations suivantes :
Enregistrez votre projet C++ et configurez-le pour qu'il utilise Firebase.
Si votre projet C++ utilise déjà Firebase, il est déjà enregistré et configuré pour Firebase.
Ajoutez le Firebase C++ SDK à votre projet C++.
Notez que l'ajout de Firebase à votre projet C++ implique des tâches à la fois dans la Firebase console et dans votre projet C++ ouvert (par exemple, vous téléchargez les fichiers de configuration Firebase depuis la console, puis vous les déplacez dans votre projet C++).
Assurez-vous également que votre projet Firebase est associé au forfait Blaze avec paiement à l'usage, qui est obligatoire depuis octobre 2024 (consultez notre FAQ). Si vous découvrez Firebase et Google Cloud, vérifiez si vous êtes éligible à un crédit de 300$.
Créer un bucket Cloud Storage par défaut
Dans le volet de navigation de la Firebase console, sélectionnez Storage (Stockage).
Si votre projet n'est pas encore associé au forfait Blaze avec paiement à l'usage, vous serez invité à le mettre à niveau.
Cliquez sur Commencer.
Sélectionnez un emplacement pour votre bucket par défaut.
Les buckets situés dans les régions
,US-CENTRAL1 etUS-EAST1 peuvent bénéficier du "Toujours sans frais" niveau pour Google Cloud Storage. Les buckets situés dans tous les autres emplacements sont soumis aux Google Cloud Storage tarifs et à l'utilisation.US-WEST1Si vous le souhaitez, vous pouvez créer plusieurs buckets ultérieurement chacun avec son propre emplacement.
Configurez les Firebase Security Rules pour votre bucket par défaut. Pendant le développement, envisagez de configurer vos règles pour un accès public.
Cliquez sur OK.
Vous pouvez désormais afficher le bucket dans l'
Cloud Storage onglet Fichiers
de la Firebase console. Le format du nom de votre bucket par défaut est
PROJECT_ID.firebasestorage.app
Configurer l'accès public
Cloud Storage for Firebase fournit un langage de règles déclaratif qui vous permet de définir la structure de vos données, leur indexation et le moment où vos données peuvent être lues et écrites. Par défaut, l'accès en lecture et en écriture à Cloud Storage est limité afin que seuls les utilisateurs authentifiés puissent lire ou écrire des données. Pour commencer sans configurer Authentication, vous pouvez configurer vos règles pour un accès public.
Cela rend Cloud Storage accessible à tous, même aux personnes qui n'utilisent pas votre application. Veillez donc à limiter à nouveau l'accès à Cloud Storage lorsque vous configurez l'authentification.
Créer et initialiser firebase::App
Avant de pouvoir accéder à Cloud Storage, vous devez créer et initialiser
le firebase::App.
Incluez le fichier d'en-tête pour firebase::App :
#include "firebase/app.h"
Android
Créez firebase::App en transmettant l'environnement JNI et une jobject
référence à l'activité Java en tant qu'arguments :
app = App::Create(AppOptions(), jni_env, activity);
iOS+
Créez le firebase::App :
app = App::Create(AppOptions());
Accéder à la classe firebase::storage::Storage
La firebase::storage::Storage
classe est le point d'entrée du Cloud Storage SDK C++.
Storage* storage = Storage::GetInstance(app);
Vous êtes prêt à commencer à utiliser Cloud Storage !
Étape suivante ? Découvrez comment créer une Cloud Storage référence.
Configuration avancée
Certains cas d'utilisation nécessitent une configuration supplémentaire :
- Utiliser des Cloud Storage buckets dans plusieurs régions géographiques
- Utiliser des Cloud Storage buckets dans différentes classes de stockage
- Utiliser des buckets Cloud Storage avec plusieurs utilisateurs authentifiés dans la même application
Le premier cas d'utilisation est idéal si vous avez des utilisateurs dans le monde entier et que vous souhaitez stocker leurs données à proximité. Par exemple, vous pouvez créer des buckets aux États-Unis, en Europe et en Asie pour stocker les données des utilisateurs de ces régions afin de réduire la latence.
Le deuxième cas d'utilisation est utile si vous avez des données avec différents modèles d'accès. Par exemple, vous pouvez configurer un bucket multirégional ou régional qui stocke des images ou d'autres contenus fréquemment consultés, et un bucket nearline ou coldline qui stocke des sauvegardes utilisateur ou d'autres contenus rarement consultés.
Dans l'un ou l'autre de ces cas d'utilisation, vous devrez utiliser plusieurs Cloud Storage buckets.
Le troisième cas d'utilisation est utile si vous créez une application, comme Google Drive, qui permet aux utilisateurs d'avoir plusieurs comptes connectés (par exemple, un compte personnel et un compte professionnel). Vous pouvez utiliser une instance d'application Firebase personnalisée pour authentifier chaque compte supplémentaire.
Utiliser plusieurs Cloud Storage buckets
Si vous souhaitez utiliser un Cloud Storage bucket autre que celui fourni par défaut ci-dessus,
ou utiliser plusieurs Cloud Storage buckets dans une seule application, vous pouvez créer une instance
de firebase::storage::Storage qui référence votre bucket personnalisé :
// Get a non-default Cloud Storage bucket Storage* storage = Storage::GetInstance("gs://my-custom-bucket");
Utiliser des buckets importés
Lorsque vous importez un bucket Cloud Storage existant dans Firebase, vous
devez autoriser Firebase à accéder à ces fichiers à l'aide de l'
gsutil outil, inclus dans le
Google Cloud SDK :
gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME
Vous trouverez le numéro de votre projet comme décrit dans l' introduction aux projets Firebase.
Cela n'affecte pas les buckets nouvellement créés, car le contrôle d'accès par défaut est défini pour autoriser Firebase. Il s'agit d'une mesure temporaire qui sera effectuée automatiquement à l'avenir.
Utiliser une application Firebase personnalisée
Si vous créez une application plus complexe à l'aide d'une firebase::App personnalisée, vous
pouvez créer une instance de firebase::storage::Storage initialisée avec cette
application :
// 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");
Étapes suivantes
Préparez-vous à lancer votre application :
- Configurez des alertes budgétaires pour votre projet dans la Google Cloud console.
- Surveillez le tableau de bord {10Firebase Vous pouvez également consulter le tableau de bord Cloud Storage Utilisation pour obtenir des informations plus détaillées sur l'utilisation.
- Consultez la checklist avant le lancement de Firebase.