Cloud Storage pour Firebase vous permet de télécharger et de partager du contenu généré par les utilisateurs, tel que des images et des vidéos, ce qui vous permet d'intégrer du contenu multimédia riche dans vos applications. Vos données sont stockées dans un bucket Google Cloud Storage , une solution de stockage d'objets à l'échelle de l'exaoctet avec une haute disponibilité et une redondance globale. Cloud Storage pour Firebase vous permet de télécharger ces fichiers en toute sécurité directement à partir d'appareils mobiles et de navigateurs Web, en gérant facilement les réseaux irréguliers.
Conditions préalables
Si vous ne l'avez pas déjà fait, ajoutez Firebase à votre projet Android .
Créer un bucket Cloud Storage par défaut
Dans le volet de navigation de la console Firebase , sélectionnez Stockage , puis cliquez sur Commencer .
Consultez les messages sur la sécurisation de vos données Cloud Storage à l'aide des règles de sécurité. Pendant le développement, pensez à définir vos règles d'accès public .
Sélectionnez un emplacement pour votre bucket Cloud Storage par défaut.
Ce paramètre d'emplacement correspond à l'emplacement des ressources Google Cloud Platform (GCP) par défaut de votre projet. Notez que cet emplacement sera utilisé pour les services GCP de votre projet qui nécessitent un paramètre d'emplacement, en particulier votre base de données Cloud Firestore et votre application App Engine (qui est obligatoire si vous utilisez Cloud Scheduler).
Si vous ne parvenez pas à sélectionner un emplacement, cela signifie que votre projet dispose déjà d'un emplacement de ressources GCP par défaut. Il a été défini soit lors de la création du projet, soit lors de la configuration d'un autre service nécessitant un paramètre d'emplacement.
Si vous bénéficiez du forfait Blaze, vous pouvez créer plusieurs buckets , chacun avec son propre emplacement .
Cliquez sur Terminé .
Configurer l'accès public
Cloud Storage pour Firebase fournit un langage de règles déclaratives qui vous permet de définir comment vos données doivent être structurées, comment elles doivent être indexées et quand vos données peuvent être lues et écrites. Par défaut, l'accès en lecture et en écriture à Cloud Storage est restreint afin que seuls les utilisateurs authentifiés puissent lire ou écrire des données. Pour commencer sans configurer l'authentification , vous pouvez configurer vos règles d'accès public .
Cela rend Cloud Storage ouvert à tous, même aux personnes n'utilisant pas votre application, alors assurez-vous de restreindre à nouveau votre Cloud Storage lorsque vous configurez l'authentification.
Ajoutez le SDK Cloud Storage à votre application
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement<project>/<app-module>/build.gradle.kts
ou <project>/<app-module>/build.gradle
), ajoutez la dépendance pour le stockage cloud. bibliothèque pour Android. Nous vous recommandons d'utiliser la BoM Android Firebase pour contrôler la gestion des versions de la bibliothèque.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.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") }
En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajouter des dépendances de la bibliothèque Firebase sans utiliser la BoM
Si vous choisissez de ne pas utiliser la BoM Firebase, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons fortement d'utiliser la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.
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:20.3.0") }
Configurer le stockage cloud
La première étape pour accéder à votre bucket Cloud Storage consiste à créer une instance de FirebaseStorage
:
Kotlin+KTX
storage = Firebase.storage
Java
FirebaseStorage storage = FirebaseStorage.getInstance();
Vous êtes prêt à commencer à utiliser Cloud Storage !
Tout d'abord, apprenons comment créer une référence Cloud Storage .
Configuration avancée
Quelques cas d'utilisation nécessitent une configuration supplémentaire :
- Utiliser des buckets Cloud Storage dans plusieurs régions géographiques
- Utiliser des buckets Cloud Storage 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 parfait si vous avez des utilisateurs à travers le monde et que vous souhaitez stocker leurs données à proximité d’eux. Par exemple, vous pouvez créer des compartiments 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 disposez de données avec des modèles d'accès différents. Par exemple : vous pouvez configurer un compartiment multirégional ou régional qui stocke des images ou d'autres contenus fréquemment consultés, et un compartiment Nearline ou Coldline qui stocke les sauvegardes des utilisateurs ou d'autres contenus rarement consultés.
Dans l'un ou l'autre de ces cas d'utilisation, vous souhaiterez utiliser plusieurs buckets Cloud Storage .
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 buckets Cloud Storage
Si vous souhaitez utiliser un bucket Cloud Storage autre que celui par défaut fourni ci-dessus, ou utiliser plusieurs buckets Cloud Storage dans une seule application, vous pouvez créer une instance de FirebaseStorage
qui fait référence à votre bucket personnalisé :
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");
Travailler avec des buckets importés
Lors de l'importation d'un bucket Cloud Storage existant dans Firebase, vous devrez accorder à Firebase la possibilité d'accéder à ces fichiers à l'aide de l'outil gsutil
, inclus dans le SDK Google Cloud :
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
Vous pouvez trouver votre numéro de projet comme décrit dans l' introduction aux projets Firebase .
Cela n'affecte pas les buckets nouvellement créés, car ceux-ci ont le contrôle d'accès par défaut 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'un FirebaseApp
personnalisé, vous pouvez créer une instance de FirebaseStorage
initialisée avec cette application :
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");
Prochaines étapes
Préparez-vous à lancer votre application :
Activez App Check pour garantir que seules vos applications peuvent accéder à vos compartiments de stockage.
Configurez des alertes budgétaires pour votre projet dans la console Google Cloud.
Surveillez le tableau de bord d'utilisation et de facturation dans la console Firebase pour obtenir une image globale de l'utilisation de votre projet sur plusieurs services Firebase. Vous pouvez également visiter le tableau de bord Utilisation du stockage cloud pour obtenir des informations d'utilisation plus détaillées.
Consultez la liste de contrôle de lancement de Firebase .