Vous pouvez envoyer et recevoir des messages aux utilisateurs finaux avec chrome.gcm. Étant donné qu'il repose sur Firebase Cloud Messaging (FCM), il repose sur un service externe que vous devez configurer. Ce guide vous explique toutes les étapes nécessaires à son fonctionnement dans votre extension.
Bien que chrome.gcm
soit toujours compatible, il a été créé il y a plus de 10 ans avant la norme Push. En règle générale, il est toujours recommandé d'utiliser la norme Web plutôt qu'une API spécifique à l'extension. À moins que vous n'ayez spécifiquement besoin d'utiliser chrome.gcm
, nous vous recommandons d'utiliser la méthode Push.
Prérequis
Pour utiliser chrome.gcm
, vous devez configurer un compte Firebase.
Une fois votre compte créé, ouvrez la console Firebase, puis sélectionnez un projet existant à utiliser ou créez-en un pour votre extension.
Accédez à la page des paramètres de Cloud Messaging.
Si vous disposez déjà d'un compte de messagerie dans le cloud pour ce projet, vous pouvez copier l'ID d'expéditeur numérique indiqué.
Si Cloud Messaging n'est pas activé, vous devez activer l'API Firebase Cloud Messaging pour le projet dans Google Cloud. L'image suivante montre où se trouve un lien direct vers cette page dans les paramètres Firebase.
Une fois l'option activée, revenez à la page des paramètres de Cloud Messaging et copiez l'ID de l'expéditeur.
Configurer chrome.gcm
Maintenant que vous disposez de votre ID d'expéditeur Firebase, vous pouvez configurer votre extension pour qu'elle écoute les messages. Pour commencer, assurez-vous d'avoir ajouté l'autorisation gcm
au fichier manifest.json
de votre extension.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Vous avez désormais accès à l'API chrome.gcm
. Vous pouvez vous inscrire pour écouter les messages push en appelant chrome.gcm.register
.
Écouter les messages
Une fois que l'extension a enregistré votre ID d'expéditeur, vous devez ajouter du code pour gérer les messages entrants.
Firebase sans Firebase
Bien que chrome.gcm
passe toujours par Firebase, Firebase peut être configuré pour servir de proxy pour les fournisseurs de messagerie push externes. En règle générale, les fournisseurs énumèrent explicitement la compatibilité avec les extensions Chrome, mais tout fournisseur compatible avec les anciennes notifications push de Firebase devrait fonctionner. Si votre fournisseur est compatible avec les anciennes notifications push de Firebase, essayez-le. Si vous rencontrez des problèmes, l'assistance du fournisseur devrait être en mesure de clarifier les restrictions qui seraient en place.
Chaînes et thèmes
chrome.gcm
utilise les anciennes API Firebase Messaging. Ce point est important, car l'ancienne API n'est pas compatible avec les canaux de messagerie. Chaque message envoyé sera envoyé à chaque client. Si l'extension d'un utilisateur n'est intéressée que par un sous-ensemble de messages, vous devez vous filtrer.
Même si Firebase est un compte sans frais, vous serez facturé une fois que vous aurez atteint un certain seuil d'utilisation. Si vous prévoyez d'envoyer des messages à des groupes spécifiques, le filtrage côté client risque de coûter plus cher qu'il ne le devrait. Vous pouvez contourner ce problème en créant plusieurs projets afin de répliquer des canaux individuels (un projet et un ID d'expéditeur pour chaque canal). Une extension donnée peut enregistrer plusieurs ID d'expéditeur, jusqu'à 100.
Si vous avez besoin de la compatibilité avec certains canaux ou si vous souhaitez utiliser les notifications push sans passer par Firebase, vous pouvez également utiliser l'API Push.