Utiliser Firebase Cloud Messaging (FCM) avec chrome.gcm

Vous pouvez envoyer et recevoir des messages aux utilisateurs finaux avec chrome.gcm. Parce qu’il est basé sur Firebase Cloud Messaging (FCM), qui repose sur un service externe dont vous avez besoin. à configurer. Ce guide vous explique toutes les étapes nécessaires pour l'obtenir dans votre extension.

Bien que chrome.gcm soit toujours pris en charge, il a été créé il y a plus de 10 ans la norme Push. En général, il est toujours recommandé d'utiliser le Web standard, plutôt qu'une API spécifique à une extension. À moins que vous n'ayez un besoin spécifique pour utiliser chrome.gcm, nous vous recommandons d'utiliser le mode Push.

Prérequis

Pour utiliser chrome.gcm, vous devez configurer un Firebase Google Cloud.

<ph type="x-smartling-placeholder">
</ph> Page d&#39;accueil de Firebase.com
Page d'accueil Firebase.com
.

Une fois votre compte créé, ouvrez votre Firebase console, puis sélectionnez un projet existant ou créez-en un. pour votre extension.

<ph type="x-smartling-placeholder">
</ph> Capture d&#39;écran des listes de projets dans la console Firebase.
Fiches de projets dans la console Firebase
.

Passez à la page des paramètres de Cloud Messaging.

<ph type="x-smartling-placeholder">
</ph> Capture d&#39;écran d&#39;une page de paramètres Firebase Cloud Messaging
Page des paramètres de Firebase Cloud Messaging
.

Si vous disposez déjà d'un compte de messagerie dans le cloud pour ce projet, copiez l'identifiant numérique de l'expéditeur indiqué.

Si vous n'avez pas activé Cloud Messaging, vous devez activer le service API Cloud Messaging pour le projet dans Google Cloud. Dans les vous pouvez voir où se trouve un lien direct vers cette page dans la paramètres.

<ph type="x-smartling-placeholder">
</ph> Capture d&#39;écran de l&#39;emplacement du lien permettant d&#39;activer l&#39;API Firebase Messaging dans Google Cloud.
Ouvrir le lien des paramètres Google Cloud dans Firebase
.

Ensuite, revenez à la page des paramètres de Cloud SMS, puis copiez l'ID de l'expéditeur.

Configurer chrome.gcm

Maintenant que vous disposez de votre ID d'expéditeur dans Firebase, vous pouvez configurer votre extension pour écouter les messages. Pour commencer, assurez-vous d'avoir ajouté gcm. autorisation d'accéder au 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 notifications push messages 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 général, les fournisseurs indiquer explicitement la compatibilité avec les extensions Chrome, mais tout fournisseur compatible Les anciennes notifications push de Firebase devraient fonctionner. Si votre fournisseur indique avec les anciennes notifications push de Firebase, essayez-la. Si vous rencontrez des problèmes l'assistance des fournisseurs doit être en mesure de clarifier les restrictions qui serait en place.

Sur les chaînes et les thèmes

chrome.gcm utilise les anciennes API Firebase Messaging. C'est important car l'ancienne API n'est pas compatible avec les canaux de message. Tous les messages envoyés sera envoyé à chaque client. Si l'extension d'un utilisateur ne s'intéresse qu'à une sous-ensemble de messages, vous devez vous filtrer vous-même.

Bien que Firebase démarre en tant que compte sans frais, vous êtes facturé dès que vous dépassez un un certain seuil d'utilisation. Si vous prévoyez d'envoyer des messages à des groupes spécifiques, alors le filtrage côté client peut finir par coûter plus que ce qu’il est justifié. Vous pouvez contourner ce problème en créant plusieurs projets pour répliquer des canaux individuels (un projet et un ID d'expéditeur pour chaque canal). Toute extension donnée peut vous pouvez enregistrer plusieurs ID d'expéditeur (jusqu'à 100).

Si vous avez besoin d'aide pour certains canaux ou si vous voulez utiliser les notifications push sans passer par Firebase, vous pouvez utiliser l'API Push.