Wiadomości tematyczne w ramach technologii Flutter

Funkcja wiadomości w tematach w FCM oparta na modelu publikowania/subskrypcji umożliwia wysyłanie wiadomości na wielu urządzeniach, które angażują się w określoną tematykę. Tworzysz wiadomości w tematach jako a FCM niezawodnie zarządza routingiem i dostarczaniem wiadomości w prawo urządzenia.

Na przykład użytkownicy przypływów lokalnych aplikacja prognostyczna może włączyć „alerty o prądach pływowych” temat i otrzymaj powiadomienia o optymalnych warunkach połowów na morzu na wybranych obszarach. Użytkownicy aplikacji sportowej mogliby zasubskrybować automatyczne aktualizacje wyników meczów ulubieńców w różnych regionach.

Oto kilka kwestii, o których warto pamiętać:

  • Komunikaty tematyczne najlepiej sprawdzają się w przypadku treści takich jak pogoda i inne treści publiczne dostępnych informacji.

  • Tematy wiadomości są zoptymalizowane pod kątem przepustowości, a nie opóźnień. Jeśli chcesz, bezpieczne dostarczanie na pojedyncze urządzenia lub małe grupy urządzeń kierowanie wiadomości na tokeny rejestracji, nie tematów.

  • Jeśli chcesz wysyłać wiadomości na wiele urządzeń na użytkownika, weź pod uwagę wyświetlanie wiadomości w grupie urządzeń dla tych zastosowań.

  • Funkcja wiadomości tematycznych obsługuje nieograniczoną liczbę subskrypcji dla każdego tematu. Jednak FCM egzekwuje ograniczenia w tych obszarach:

    • Jedno wystąpienie aplikacji może subskrybować maksymalnie 2000 tematów.
    • Jeśli używasz importowania zbiorczego aby zasubskrybować instancje aplikacji, każde żądanie jest ograniczone do 1000 wystąpień aplikacji.
    • Częstotliwość nowych subskrypcji jest ograniczona w przypadku każdego projektu. Jeśli wyślesz zbyt wiele żądań subskrypcji w krótkim czasie, serwery FCM odpowiedzieć, wysyłając odpowiedź 429 RESOURCE_EXHAUSTED („limit został przekroczony”). Spróbuj jeszcze raz ze wzrastającym czasem do ponowienia.

Subskrybowanie tematu w aplikacji klienckiej

Aplikacje klienckie mogą subskrybować dowolny istniejący temat lub utworzyć nowy temat. Gdy aplikacja kliencka subskrybuje nową nazwę tematu (taką, która nie jeszcze nie istnieje dla Twojego projektu Firebase), nowy temat o tej nazwie to utworzona w FCM i każdy klient może ją subskrybować.

Aby zasubskrybować temat, wywołaj subscribeToTopic() i podaj jego nazwę. Ta metoda zwraca wartość Future, która obowiązuje, gdy subskrypcja się powiodła:

await FirebaseMessaging.instance.subscribeToTopic("topic");

Aby anulować subskrypcję, wywołaj unsubscribeFromTopic() i podaj nazwę tematu.

subscribeToTopic() i unsubscribeFromTopic() nie są obsługiwane w przeglądarce klientów. Aby dowiedzieć się, jak zarządzać subskrypcjami dla użytkowników internetu, zobacz Wysyłanie wiadomości do tematów przy użyciu przeglądarki/JavaScript.

Dalsze kroki