Możesz wysyłać i odbierać wiadomości od użytkowników za pomocą interfejsu browser.gcm. Jest ona oparta na Komunikacji w chmurze Firebase (FCM), więc korzysta z zewnętrznej usługi, którą musisz skonfigurować. Ten przewodnik zawiera wszystkie niezbędne czynności, które należy wykonać, aby włączyć tę funkcję w rozszerzeniu.
Chociaż browser.gcm jest nadal obsługiwany, został utworzony ponad 10 lat temu, przed wprowadzeniem standardu Push. Ogólnie zawsze zalecamy używanie standardu internetowego zamiast interfejsu API specyficznego dla rozszerzenia. Jeśli nie masz konkretnej potrzeby używania browser.gcm, zalecamy używanie Push.
Wymagania wstępne
Aby korzystać z browser.gcm, musisz skonfigurować konto Firebase.
Po utworzeniu konta otwórz konsolę Firebase i wybierz istniejący projekt, którego chcesz użyć, lub utwórz nowy projekt dla rozszerzenia.
Przejdź na stronę ustawień Komunikacji w chmurze.
Jeśli w tym projekcie masz już konto usługi przesyłania wiadomości w chmurze, skopiuj podany identyfikator nadawcy.
Jeśli nie masz włączonej Komunikacji w chmurze, musisz włączyć interfejs Firebase Cloud Messaging API w projekcie w Google Cloud. Na poniższym obrazie możesz zobaczyć, gdzie znajduje się link bezpośrednio do tej strony w ustawieniach Firebase.
Po włączeniu wróć na stronę ustawień Cloud Messaging i skopiuj identyfikator nadawcy.
Konfigurowanie browser.gcm
Teraz, gdy masz identyfikator nadawcy z Firebase, możesz skonfigurować rozszerzenie tak, aby nasłuchiwało wiadomości. Na początek sprawdź, czy w pliku manifestu rozszerzenia masz dodane uprawnienie gcm
manifest.json.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
Masz teraz dostęp do interfejsu browser.gcm API. Aby zarejestrować się w celu odbierania wiadomości push, wywołaj funkcję browser.gcm.register.
Odsłuchiwanie wiadomości
Gdy rozszerzenie zarejestruje identyfikator nadawcy, musisz dodać kod do obsługi wiadomości przychodzących.
Firebase bez Firebase
Chociaż browser.gcm zawsze przechodzi przez Firebase, Firebase można skonfigurować tak, aby działał jako serwer proxy dla zewnętrznych dostawców wiadomości push. Zazwyczaj dostawcy wyraźnie podają, że obsługują rozszerzenia do Chrome, ale powinni działać wszyscy dostawcy, którzy obsługują starsze powiadomienia push Firebase. Jeśli Twój dostawca obsługuje starsze powiadomienia push Firebase, wypróbuj tę funkcję. Jeśli napotkasz problemy, zespół pomocy dostawcy powinien wyjaśnić wszelkie obowiązujące ograniczenia.
Kanały i tematy
browser.gcm używa starszych interfejsów Firebase Messaging API. Jest to ważne, ponieważ starszy interfejs API nie obsługuje kanałów wiadomości. Każda wysłana wiadomość trafi do każdego klienta. Jeśli rozszerzenie użytkownika jest zainteresowane tylko podzbiorem wiadomości, musisz samodzielnie je odfiltrować.
Firebase to początkowo bezpłatne konto, ale po przekroczeniu określonego progu wykorzystania zaczną być naliczane opłaty. Jeśli planujesz wysyłać wiadomości do określonych grup, filtrowanie po stronie klienta może okazać się droższe, niż jest to uzasadnione. Możesz obejść to ograniczenie, tworząc wiele projektów, aby odzwierciedlić poszczególne kanały (po jednym projekcie i identyfikatorze nadawcy na każdy kanał). Każde rozszerzenie może zarejestrować maksymalnie 100 identyfikatorów nadawcy.
Jeśli potrzebujesz obsługi kanałów lub chcesz korzystać z powiadomień push bez używania Firebase, możesz użyć interfejsu Push API.