Votre environnement de serveur et FCM

La partie serveur de Firebase Cloud Messaging comporte deux composants :

  • Le FCM backend fourni par Google.
  • Votre serveur d'application ou un autre environnement serveur de confiance dans lequel s'exécute votre logique serveur, comme Cloud Functions pour Firebase ou d'autres environnements cloud gérés par Google.

Votre serveur d'application ou votre environnement serveur de confiance envoie des requêtes de message au FCM backend, qui achemine ensuite les messages vers les applications clientes s'exécutant sur les appareils des utilisateurs.

À l'aide des protocoles de serveur d'application Firebase Admin SDK ou FCM, vous pouvez créer des requêtes de message et les envoyer à ces types de cibles :

  • Nom du sujet
  • Condition
  • Jeton d'enregistrement FCM
  • Nom du groupe d'appareils (protocole uniquement)

Vous pouvez envoyer des messages avec une charge utile de notification composée de champs prédéfinis, une charge utile de données de vos propres champs définis par l'utilisateur ou un message contenant les deux types de charges utiles. Pour en savoir plus, consultez Types de messages.

Conditions requises pour l'environnement serveur de confiance

L'environnement de votre serveur d'application doit répondre aux critères suivants :

  • Être en mesure d'envoyer des requêtes de message correctement formatées au FCM backend.
  • Être en mesure de gérer les requêtes et de les renvoyer à l'aide d'un intervalle exponentiel entre les tentatives.
  • Être en mesure de stocker de manière sécurisée les identifiants d'autorisation du serveur et les jetons d'enregistrement du client.

Identifiants requis pour le projet Firebase

Selon les fonctionnalités FCM que vous implémentez, vous aurez peut-être besoin des identifiants suivants de votre projet Firebase :

Identifiant Description
ID du projet Identifiant unique de votre projet Firebase, utilisé dans les requêtes adressées au FCM point de terminaison HTTP v1. Cette valeur est disponible dans le Firebase console Paramètres pane.
Jeton d'enregistrement Chaîne de jeton unique qui identifie chaque instance d'application cliente. Le jeton d'enregistrement est requis pour la messagerie d'instance d'application unique et de groupe d'appareils. Notez que les jetons d'enregistrement doivent rester secrets.
ID de l'expéditeur Valeur numérique unique créée lorsque vous créez votre projet Firebase, disponible dans l' Cloud Messaging onglet de la console Firebase Paramètres. L'ID de l'expéditeur est identique au numéro de projet. L'ID de l'expéditeur permet d'identifier chaque expéditeur pouvant envoyer des messages à l'application cliente.
Jeton d'accès Jeton OAuth 2.0 à courte durée de vie qui autorise les requêtes adressées à l'API HTTP v1. Ce jeton est associé à un compte de service appartenant à votre projet Firebase. Pour créer et faire pivoter des jetons d'accès, suivez les étapes décrites dans Autoriser les requêtes d'envoi.

Choisir une option de serveur

Vous devez choisir un moyen d'interagir avec les FCM serveurs : soit à l'aide du Firebase Admin SDK soit à l'aide de l'API HTTP v1 FCM. Le Firebase Admin SDK est la méthode recommandée, car il est compatible avec les langages de programmation courants et propose des méthodes pratiques pour gérer l'authentification et l'autorisation.

Voici les options d'interaction avec les serveurs FCM :

Firebase Admin SDK

Le Firebase Admin SDK gère l'authentification auprès du backend et facilite l'envoi de messages et la gestion des abonnements aux sujets. Avec le Firebase Admin SDK, vous pouvez :

  • envoyer des messages à des instances d'application individuelles ;
  • envoyer des messages à des sujets et des instructions de condition qui correspondent à un ou plusieurs sujets ;
  • envoyer des messages à des groupes d'appareils ;
  • abonner et désabonner des instances d'application à des sujets ;
  • créer des charges utiles de message adaptées à différentes plates-formes cibles.

Pour configurer le Firebase Admin SDK, consultez Ajouter le Firebase Admin SDK à votre serveur. Si vous disposez déjà d'un projet Firebase, commencez par Ajouter le SDK. Assurez-vous également d'activer l'API Firebase Cloud Messaging (V1) sur la page des paramètres Cloud Messaging de votre projet. Une fois le Firebase Admin SDK installé, vous pouvez commencer à écrire une logique pour créer des requêtes d'envoi.

FCM API HTTP v1

FCM fournit l'FCM API HTTP v1 pour les développeurs qui préfèrent un protocole serveur brut.

Pour envoyer un message, le serveur d'application émet une requête POST avec un en-tête HTTP et un corps HTTP composé de paires clé-valeur JSON. Pour en savoir plus sur les options d'en-tête et de corps, consultez Envoyer un message à l'aide de FCM API HTTP v1.