Na tej stronie znajdziesz pomoc w rozwiązywaniu problemów oraz odpowiedzi na najczęstsze pytania dotyczące Cloud Messaging.
Czym różni się narzędzie do tworzenia powiadomień od FCM?
Firebase Cloud Messaging udostępnia pełny zestaw funkcji przesyłania wiadomości za pomocą pakietów SDK klienta i protokołu serwera HTTP. W przypadku wdrożeń o bardziej złożonych wymaganiach dotyczących przesyłania wiadomości odpowiednim wyborem jest FCM.
Kreator powiadomień to lekkie, bezserwerowe rozwiązanie do przesyłania wiadomości oparte na Firebase Cloud Messaging. Dzięki przyjaznej dla użytkownika konsoli graficznej i mniejszym wymaganiom dotyczącym kodowania kompozytor powiadomień umożliwia użytkownikom wysyłanie wiadomości w celu ponownego zaangażowania i utrzymania użytkowników, wspierania rozwoju aplikacji oraz kampanii marketingowych.
| Uprawnienia |
|
Kreator powiadomień |
Cloud Messaging |
| Cel |
Konkretne urządzenie |
|
|
|
Klienci subskrybujący tematy (np. pogodę) |
|
|
|
Klienci w zdefiniowanym segmencie użytkowników (aplikacja, wersja, język) |
|
|
|
Klienci w określonych grupach odbiorców usługi Analytics |
|
|
|
Klienci w grupach urządzeń |
|
|
|
Wysyłanie danych od klienta do serwera |
|
|
| Typ wiadomości |
Powiadomienia o rozmiarze do 2 KB |
|
|
|
Wiadomości z danymi o rozmiarze do 4 KB |
|
|
| Dostawa |
Natychmiast |
|
|
|
Lokalny czas na urządzeniu klienta w przyszłości |
|
|
| Analytics |
Wbudowane gromadzenie danych analitycznych dotyczących powiadomień i analiza ścieżki |
|
|
Czy muszę korzystać z innych usług Firebase, aby używać FCM?
Możesz używać Firebase Cloud Messaging jako samodzielnego komponentu bez korzystania z innych usług Firebase.
Dlaczego urządzenia docelowe nie otrzymują wiadomości?
Jeśli urządzenia nie otrzymują wiadomości, sprawdź najpierw te 2 potencjalne przyczyny:
Obsługa wiadomości na pierwszym planie w przypadku powiadomień. Aplikacje klienckie muszą dodać logikę obsługi wiadomości, aby obsługiwać wiadomości z powiadomieniami, gdy aplikacja działa na pierwszym planie na urządzeniu. Szczegółowe informacje znajdziesz w przypadku iOS i Androida.
Ograniczenia zapory sieciowej. Jeśli Twoja organizacja ma zaporę sieciową, która ogranicza ruch do lub z internetu, musisz ją skonfigurować tak, aby zezwalała na połączenie z FCM. Dzięki temu aplikacje klienckie Firebase Cloud Messaging będą mogły odbierać wiadomości. Porty, które należy otworzyć:
FCM zwykle używa portu 5228, ale czasami korzysta też z portów 5229 i 5230.
FCM nie podaje konkretnych adresów IP, więc zezwól zaporze sieciowej na akceptowanie połączeń wychodzących w przypadku wszystkich adresów IP zawartych w blokach adresów IP wymienionych na liście ASN 15169 Google.
Dlaczego w mojej aplikacji na Androida nie jest wywoływana funkcja onMessageReceived?
Gdy aplikacja działa w tle, wiadomości powiadomień są wyświetlane w obszarze powiadomień, a funkcja onMessageReceived nie jest wywoływana. W przypadku wiadomości powiadomień z ładunkiem danych wiadomość powiadomienia jest wyświetlana w obszarze powiadomień, a dane dołączone do wiadomości powiadomienia można pobrać z intencji uruchomionej, gdy użytkownik kliknie powiadomienie.
Więcej informacji znajdziesz w artykule Odbieranie i obsługiwanie wiadomości.
Dlaczego podczas wysyłania wiadomości do aktywnej instancji aplikacji przywróconej z kopii zapasowej pojawia się błąd 404?
FID (Firebase Installation ID) to identyfikator instancji aplikacji. Domyślnie dane instalacji Firebase są tworzone i przywracane. W przypadku przywracania przywrócona instancja aplikacji i oryginalna instancja aplikacji mają ten sam identyfikator FID. FCM przechowuje tylko 1 token na identyfikator FID. Jeśli używane są zarówno pierwotna, jak i przywrócona instancja aplikacji, to gdy jedna z nich zarejestruje się w FCM, token drugiej instancji zostanie usunięty, co spowoduje błędy 404.
Zalecamy deweloperom wykonanie w aplikacji tych czynności:
- Wyklucz dane instalacji Firebase z kopii zapasowej. Dane instalacji Firebase są przechowywane w
PersistedInstallation....json. Nazwa pliku jest stała w przypadku aplikacji. Na przykład <exclude domain="file" path="PersistedInstallation.W0R...GQ.json"
/>
Firma Apple ogłosiła, że wycofuje starszy protokół binarny APNs. Czy muszę coś zrobić?
Nie. W 2017 r. Firebase Cloud Messaging przeszła na protokół APNs oparty na HTTP/2.
Jeśli używasz FCM do wysyłania powiadomień na urządzenia z iOS, nie musisz nic robić.
FCM limity,
Jak w ciągu 2 minut powiadomić dużą bazę klientów?
Ten przypadek użycia nie jest obsługiwany. Ruch musi być rozłożony na 5 minut.
Moja aplikacja powiadamia użytkowników o wydarzeniach, a te wiadomości muszą być dostarczane natychmiast, aby wspierać mój model biznesowy. Czy mogę uzyskać większy limit?
Z tego powodu nie możemy zwiększyć limitu. Ruch musi być rozłożony na 5 minut, aby uniknąć nagłych skoków.
Moje wiadomości dotyczą zaplanowanych wydarzeń. Jak mogę wysyłać cały ruch na początku godziny?
Zalecamy rozpoczęcie wysyłania powiadomień co najmniej 5 minut przed wydarzeniem. Możesz też wysyłać wiadomości z danymi i wdrożyć analogiczny do onMessageReceived moduł obsługi na swojej platformie, aby z wyprzedzeniem zaplanować powiadomienia lokalne.
Błędy 429 są trudne do rozwiązania dla mnie i mojej firmy. Czy mogę uzyskać zwolnienie lub większy limit, aby uniknąć błędów 429?
Rozumiemy, że limity mogą być problematyczne, ale są one niezbędne do zapewnienia niezawodności usługi i nie możemy przyznawać wyjątków. Używaj ponownych prób, aby prawidłowo obsługiwać błędy 429.
Ile czasu zajmie rozpatrzenie mojej prośby o zwiększenie limitu?
Prośba o zwiększenie limitu zależy od Twojego wykorzystania FCM. W każdym przypadku możesz oczekiwać odpowiedzi w ciągu kilku dni roboczych. W niektórych przypadkach może dojść do wymiany informacji na temat korzystania z FCM i różnych okoliczności, co może wydłużyć proces. Jeśli spełniasz wszystkie wymagania, większość próśb rozpatrzymy w ciągu 2 tygodni.
Czy mogę uzyskać większy limit na potrzeby tymczasowego wydarzenia?
Możesz poprosić o dodatkowy limit na potrzeby wydarzenia trwającego do miesiąca.
Zgłoś prośbę co najmniej miesiąc przed wydarzeniem i podaj dokładne informacje o tym, kiedy się ono rozpocznie i zakończy. FCM dołoży wszelkich starań, aby spełnić Twoją prośbę. Jeśli przyznamy Ci zwiększenie limitu, zostanie ono cofnięte po dacie zakończenia wydarzenia.
Czy mój obecny limit może ulec zmianie?
Google nie będzie tego robić bez ważnego powodu, ale w razie potrzeby limity mogą zostać zmienione, aby chronić integralność systemu. W miarę możliwości Google powiadomi Cię z wyprzedzeniem o takich zmianach. Dbaj o aktualność kontaktów w umowie MSA dotyczącej usług w chmurze, aby zwiększyć szanse na otrzymywanie ogłoszeń dotyczących usług.
FCM wycofanie starszych interfejsów API,
Interfejsy API po stronie serwera zostaną wycofane we wrześniu 2026 r.
Które interfejsy API i funkcje zostaną wycofane i wyłączone? Co zrobić, jeśli korzystam z tych interfejsów API?
Wszystkie interfejsy InstanceId API i funkcja grup urządzeń są wycofane i zostaną zamknięte 29 września 2027 r. W tabeli poniżej znajdziesz więcej informacji o wycofanych interfejsach API i funkcjach oraz wymaganych działaniach.
| Nazwa interfejsu API
|
Punkt końcowy API
|
Przeznaczenie
|
Wpływ na klientów
|
Wymagane działanie
|
| InstanceId info API
|
https://iid.googleapis.com/iid/info
|
Uzyskiwanie informacji związanych z identyfikatorem instancji lub tokenem FCM
|
Po 29 września 2027 r. żądania wysyłane do tego interfejsu API będą się kończyć niepowodzeniem.
|
Klienci, którzy używają interfejsu API do weryfikacji tokenów, powinni używać FCM interfejsu API wysyłania w wersji 1 i ustawić wartość validate_only na „true”.
Klienci, którzy korzystają z interfejsu API do pobierania informacji o subskrypcji tematu, muszą przejść na nowy interfejs API do subskrypcji tematu.
|
| InstanceId topic subscription API
|
https://iid.googleapis.com/iid/v1/…/rel/topics
https://iid.googleapis.com/iid/v1:batchAdd
https://iid.googleapis.com/iid/v1:batchRemove
|
Subskrybowanie tokenów tematu za pomocą starszego interfejsu API subskrypcji tematu.
|
Żądania wysyłane do tych interfejsów API zaczną się kończyć niepowodzeniem po 29 września 2027 r.
|
Przejdź na nowy serwer subskrypcji tematów FCM
API do subskrybowania i anulowania subskrypcji tematów.
|
| Interfejs InstanceId batch import API
|
https://iid.googleapis.com/iid/v1:batchImport
|
Tworzenie tokenów FCM dla iOS w partiach po stronie serwera.
|
Po 29 września 2027 r. żądania wysyłane do tego interfejsu API będą się kończyć niepowodzeniem.
Tworzenie rejestracji FCM na podstawie tokenów APNs po stronie serwera nie będzie obsługiwane.
|
Możesz użyć usługi APNs firmy Apple do wysyłania powiadomień za pomocą tokenów APNs.
Aby uzyskać dodatkowe korzyści oferowane przez FCM, zintegruj aplikację z FCM pakietem SDK na iOS, który utworzy rejestracje FCM na urządzeniu klienta.
|
| Device group management API
|
https://fcm.googleapis.com/fcm/notification
https://fcm.googleapis.com/gcm/notification
https://fcm.googleapis.com/iid/notification
https://fcm.googleapis.com/notification
|
Dodawanie, usuwanie i pobieranie członków grupy urządzeń.
|
Po 29 września 2027 r. żądania wysyłane do tego interfejsu API będą się kończyć niepowodzeniem.
|
Wskazówki dotyczące wycofania tej funkcji.
Wiadomości można nadal wysyłać do poszczególnych rejestracji FCM zamiast do tokenów grupy.
|
| Wysyłanie do grupy urządzeń
|
https://fcm.googleapis.com/v1/projects/…/messages:send
|
Wysyłanie wiadomości do grup urządzeń za pomocą klucza powiadomień grupy.
|
Ten interfejs API będzie nadal działać, ale po 29 września 2027 r. nie będzie obsługiwać tokenów grup urządzeń.
|
Czy wycofanie wpłynie na mnie, jeśli do zarządzania subskrypcjami tematów używam pakietu Firebase Admin SDK? Co mam zrobić?
Jeśli do zarządzania subskrypcjami tematów używasz starszych wersji pakietu Firebase Admin SDK, ta zmiana będzie miała na Ciebie wpływ.
Musisz zaktualizować pakiet Firebase Admin SDK do tych wersji:
| Platforma
|
Wersja pakietu Admin SDK, której dotyczy problem
|
Wersja pakietu Admin SDK, do której należy uaktualnić pakiet
|
| Node.js
|
<=14.4.0
|
>=14.5.0
|
| Python
|
<=7.6.0
|
>=7.7.0
|
| Java
|
<=9.10.0
|
Wkrótce
|
| Go
|
<=4.21.0
|
>=4.22.0
|
| .NET
|
<=3.6.0
|
Wkrótce
|
Czy przed 29 września 2027 r. nastąpi obniżenie standardu usługi?
Nie. Masz 12 miesięcy na przejście z wycofanych interfejsów API na alternatywne rozwiązania bez obniżania poziomu usług. Zdecydowanie zalecamy jak najwcześniejsze zaplanowanie migracji, aby uniknąć problemów związanych z wycofaniem usługi.
Po 29 września 2027 r. podczas wywoływania wycofanych interfejsów API mogą pojawiać się błędy.
Czy nowi użytkownicy mogą przejść proces wprowadzenia do wycofanych interfejsów API lub funkcji przed ich wyłączeniem?
Nowi użytkownicy mogą zacząć korzystać z wycofanych interfejsów API lub funkcji przed 1 stycznia 2027 r.
Po 1 stycznia 2027 r. nowi użytkownicy nie będą mogli korzystać z wycofanych interfejsów API.
Użytkownicy, którzy korzystają z wycofanych interfejsów API, mogą nadal ich używać do 29 września 2027 r.