Korzystanie z Firebase Cloud Messaging (FCM) z chrome.gcm

Aby wysyłać i odbierać wiadomości do użytkowników, użyj chrome.gcm. Ponieważ bazuje na Komunikacji w chmurze Firebase (FCM), korzysta z zewnętrznej usługi, którą musisz skonfigurować. Ta instrukcja krok po kroku przeprowadzi Cię przez wszystkie kroki niezbędne do uruchomienia rozszerzenia.

Chociaż usługa chrome.gcm jest nadal obsługiwana, została utworzona ponad 10 lat temu przed wprowadzeniem standardu Push. Ogólnie sprawdzoną metodą jest używanie standardu internetowego zamiast interfejsu API konkretnego rozszerzenia. Jeśli nie potrzebujesz pomocy w korzystaniu z funkcji chrome.gcm, zalecamy korzystanie z funkcji Push.

Wymagania wstępne

Aby używać chrome.gcm, musisz skonfigurować konto Firebase.

na stronie głównej Firebase.com.
Strona główna Firebase.com

Po utworzeniu konta otwórz konsolę Firebase i wybierz istniejący projekt, którego chcesz użyć, lub utwórz nowy projekt dla rozszerzenia.

Zrzut ekranu przedstawiający listę projektów w konsoli Firebase.
Informacje o projektach w konsoli Firebase

Otwórz stronę ustawień Komunikacji w chmurze.

Zrzut ekranu strony ustawień Komunikacji w chmurze Firebase
Strona ustawień Komunikacji w chmurze Firebase

Jeśli w tym projekcie masz już konto Cloud do przesyłania wiadomości, skopiuj widoczny numeryczny identyfikator nadawcy.

Jeśli nie masz włączonej usługi przesyłania wiadomości w chmurze, musisz włączyć interfejs Firebase Cloud Messaging API w projekcie w Google Cloud. Na ilustracji poniżej widać, gdzie w ustawieniach Firebase znajduje się link bezpośrednio do tej strony.

Zrzut ekranu pokazujący lokalizację linku do włączenia interfejsu Firebase Messaging API w Google Cloud.
Otwieranie w Firebase linku do ustawień Google Cloud

Gdy włączysz tę funkcję, wróć na stronę ustawień Komunikacji w chmurze i skopiuj identyfikator nadawcy.

Konfiguracja chrome.gcm

Gdy masz już identyfikator nadawcy z Firebase, możesz skonfigurować rozszerzenie pod kątem nasłuchiwania wiadomości. Na początek sprawdź, czy do komponentu manifest.json rozszerzenia zostało dodane uprawnienie gcm

  {
    "manifest_version": 3,
    ...
    "permissions": ["gcm"]

Masz teraz dostęp do interfejsu API chrome.gcm. Aby zarejestrować się na nasłuchiwanie wiadomości push, możesz zarejestrować się, wywołując chrome.gcm.register

Wysłuchaj wiadomości

Gdy rozszerzenie zarejestruje Twój identyfikator nadawcy, musisz dodać kod do obsługi wiadomości przychodzących.

Firebase bez Firebase

Usługa chrome.gcm zawsze przechodzi przez Firebase, ale Firebase można skonfigurować tak, aby działała jako serwer proxy dla zewnętrznych dostawców wiadomości push. Zwykle dostawcy podają jasno informacje o obsłudze rozszerzeń do Chrome, ale każdy dostawca, który obsługuje starsze powiadomienia push Firebase powinny działać. Jeśli Twój dostawca podaje obsługę starszych powiadomień push Firebase, wypróbuj je. Jeśli napotkasz problemy, zespół pomocy usługodawców powinien być w stanie wyjaśnić wszelkie ograniczenia, jakie zostaną nałożone.

W kanałach i na tematy

Aplikacja chrome.gcm używa starszych interfejsów Firebase Messaging API. To ważne, ponieważ starsza wersja interfejsu API nie obsługuje kanałów wiadomości. Każda przekazywana wiadomość trafi do każdego klienta. Jeśli rozszerzenie użytkownika interesuje tylko podzbiór wiadomości, musisz przefiltrować informacje.

Chociaż usługa Firebase jest na początku bezpłatna, opłaty będą naliczane, gdy przekroczysz określony próg wykorzystania. Jeśli planujesz wysyłać wiadomości do określonych grup, filtrowanie po stronie klienta może kosztować więcej, niż jest to możliwe. Możesz obejść ten problem, tworząc wiele projektów, które będą replikować poszczególne kanały (1 projekt i 1 identyfikator nadawcy dla każdego kanału). Każde rozszerzenie może zarejestrować kilka identyfikatorów nadawców (maksymalnie 100).

Jeśli potrzebujesz obsługi kanałów lub chcesz korzystać z powiadomień push bez korzystania z Firebase, możesz też użyć interfejsu Push API.