Za pomocą chrome.gcm możesz wysyłać i odbierać wiadomości od użytkowników końcowych. Jest ona zbudowana na podstawie Komunikacji w chmurze Firebase (FCM) i korzysta z zewnętrznej usługi, którą musisz skonfigurować. Ten samouczek zawiera wszystkie niezbędne czynności, które należy wykonać, aby funkcja działała w Twoim rozszerzeniu.
Chociaż chrome.gcm
jest nadal obsługiwane, zostało utworzone ponad dekadę temu, zanim pojawił się standard Push. Zwykle sprawdzoną metodą jest korzystanie ze standardu internetowego zamiast interfejsu API odpowiedniego dla danej rozszerzenia. Jeśli nie musisz używać chrome.gcm
, zalecamy korzystanie z push.
Wymagania wstępne
Aby korzystać z usługi chrome.gcm
, musisz skonfigurować konto Firebase.
![Strona główna Firebase.com](https://developer.chrome.google.cn/docs/extensions/how-to/integrate/chrome.gcm/firebase_homepage.jpg?authuser=002&hl=pl)
Po utworzeniu konta otwórz konsolę Firebase i wybierz istniejący projekt do użycia lub utwórz nowy dla tego rozszerzenia.
![Zrzut ekranu z listą projektów w konsoli Firebase](https://developer.chrome.google.cn/docs/extensions/how-to/integrate/chrome.gcm/firebase_console.jpg?authuser=002&hl=pl)
Przejdź do strony ustawień usługi Cloud Messaging.
![Zrzut ekranu strony ustawień Komunikacji w chmurze Firebase](https://developer.chrome.google.cn/docs/extensions/how-to/integrate/chrome.gcm/firebase_settings.jpg?authuser=002&hl=pl)
Jeśli masz już w tym projekcie konto przesyłania wiadomości w chmurze, skopiuj podany numer identyfikatora nadawcy.
Jeśli nie masz włączonej usługi przesyłania wiadomości w chmurze, musisz włączyć interfejs Cloud Messaging API w Firebase w projekcie w Google Cloud. Na poniższym obrazku widać, gdzie w ustawieniach Firebase znajduje się link do tej strony.
![Zrzut ekranu pokazujący lokalizację linku umożliwiającego włączenie interfejsu Firebase Messaging API w Google Cloud.](https://developer.chrome.google.cn/docs/extensions/how-to/integrate/chrome.gcm/firebase_enable_cloud.jpg?authuser=002&hl=pl)
Po włączeniu tej funkcji wróć na stronę ustawień usługi Cloud Messaging i skopiuj identyfikator nadawcy.
Konfigurowanie chrome.gcm
Teraz, gdy masz już identyfikator nadawcy z Firebase, możesz skonfigurować rozszerzenie tak, aby nasłuchiwało wiadomości. Na początek sprawdź, czy w uprawnieniu manifest.json
masz włączone 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, wywołaj chrome.gcm.register
Odsłuchiwanie wiadomości
Gdy rozszerzenie zarejestruje Twój identyfikator nadawcy, musisz dodać kod do obsługi przychodzących wiadomości.
Firebase bez Firebase
Chociaż usługa chrome.gcm
zawsze przechodzi przez Firebase, Firebase można skonfigurować jako serwer proxy dla zewnętrznych dostawców wiadomości push. Zazwyczaj dostawcy wyraźnie informują o obsługiwaniu rozszerzeń Chrome, ale powinien działać każdy dostawca, który obsługuje powiadomienia push w Firebase. Jeśli Twój dostawca podaje, że obsługuje starsze powiadomienia push Firebase, wypróbuj je. Jeśli wystąpią problemy, możesz skontaktować się z zespołem pomocy dostawcy, aby uzyskać informacje o ograniczeniach.
Kanały i tematy
chrome.gcm
używa starszych interfejsów API Messaging Firebase. Jest to ważne, ponieważ starszy interfejs API nie obsługuje kanałów wiadomości. Każda przekazana wiadomość
dotrze do każdego klienta. Jeśli rozszerzenie użytkownika interesuje się tylko podzbiorem wiadomości, musisz je przefiltrować samodzielnie.
Chociaż Firebase to konto bezpłatne, opłaty są naliczane po przekroczeniu określonego progu wykorzystania. Jeśli planujesz wysyłać wiadomości do określonych grup, filtrowanie po stronie klienta może okazać się droższe niż uzasadnione. Możesz obejść ten problem, tworząc kilka projektów, aby powielać poszczególne kanały (jeden projekt i jeden identyfikator nadawcy dla każdego kanału). Każda dana usługa może zarejestrować wiele identyfikatorów nadawcy, maksymalnie 100.
Jeśli potrzebujesz obsługi kanałów lub chcesz korzystać z powiadomień push bez przechodzenia przez Firebase, możesz też użyć interfejsu Push API.