Votre environnement de serveur et FCM

Le côté serveur de Firebase Cloud Messaging se compose de deux éléments :

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

Votre serveur d'applications ou votre environnement de serveur de confiance envoie des requêtes de message au backend FCM, qui les achemine ensuite vers les applications clientes exécutées 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 aux types de cibles suivants :

  • Nom du sujet
  • Condition
  • Jeton d'enregistrement FCM
  • Nom du groupe d'appareils (obsolète, sera supprimé le 29 septembre 2027)

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 charge utile. Pour en savoir plus, consultez Types de messages.

Exigences concernant l'environnement de serveur de confiance

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

  • Être capable d'envoyer des demandes de message correctement formatées au backend FCM.
  • Capacité à gérer les requêtes et à les renvoyer à l'aide d'un intervalle exponentiel entre les tentatives.
  • Capacité à 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 point de terminaison HTTP FCM v1. Cette valeur est disponible dans le volet Paramètres de la console Firebase.
Jeton d'enregistrement Chaîne de jeton unique qui identifie chaque instance d'application cliente. Le jeton d'enregistrement est requis pour l'envoi de messages à une seule instance d'application et à un 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'onglet Cloud Messaging du volet Paramètres de la console Firebase. L'ID de l'expéditeur est identique au numéro du 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 de courte durée 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 effectuer la rotation des jetons d'accès, suivez la procédure décrite dans Autoriser les requêtes d'envoi.

Choisir une option de serveur

Vous devez choisir comment interagir avec les serveurs FCM : en utilisant le Firebase Admin SDK ou l'API HTTP v1 FCM. En raison de sa compatibilité avec les langages de programmation courants et de ses méthodes pratiques de gestion de l'authentification et des autorisations, la Firebase Admin SDK est la méthode recommandée.

Les options d'interaction avec les serveurs FCM sont les suivantes :

Firebase Admin SDK

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 Firebase Admin SDK, vous pouvez :

  • Envoyer des messages à des instances d'application individuelles
  • Envoyer des messages à des thèmes et à des instructions de condition correspondant à un ou plusieurs thèmes
  • Envoyer des messages à des groupes d'appareils
  • Abonner des instances d'application à des thèmes et les en désabonner
  • 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. Ensuite, une fois que Firebase Admin SDK est installé, vous pouvez commencer à écrire la logique pour créer des requêtes d'envoi.

API HTTP v1 FCM

FCM fournit l'API HTTP v1 FCM aux développeurs qui préfèrent un protocole de 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 l'API HTTP v1 FCM.