Wysyłaj powiadomienia push do wybranych grup użytkowników aplikacji

Zaktualizowano 9. maja 2025 przez Jan Bunk


Funkcje opisane na tej stronie wymagają planu z powiadomieniami push.

Podstawowa koncepcja wysyłania powiadomień push do grupy użytkowników Twojej aplikacji wygląda następująco:

  1. Twój użytkownik Jan otwiera Twoją aplikację (załóżmy, że to aplikacja zakupowa).
  2. Jan wykonuje akcję, która sprawia, że należy do Twojej grupy docelowej, np. naciska przycisk, aby zapisać się na powiadomienia o promocjach na akcesoria kuchenne. Akcją może być też samo przeglądanie działu kuchennego w aplikacji, co może oznaczać, że Jan interesuje się produktami do kuchni.
  3. Twoja strona wywołuje funkcję JavaScript "setNotificationTopicSubscriptionStatus" z nazwą tematu, do którego chcesz zapisać Jana, np. "kitchen".
  4. Później możesz wysłać powiadomienie do Jana i wszystkich innych użytkowników zapisanych do tego tematu. Na przykład, jeśli masz kod rabatowy na artykuły kuchenne, możesz wysłać powiadomienie do wszystkich zapisanych do tematu "kitchen", aby poinformować ich o promocji.

Dostępne funkcje JavaScript

Możesz sprawdzić funkcję executeWhenAppReady() w naszym pomocniczym skrypcie aplikacji. Zapewnia, że Twoja strona nie próbuje komunikować się z aplikacją zanim będzie gotowa lub gdy strona jest otwarta w zwykłej przeglądarce (ReferenceError, funkcja nie jest zdefiniowana).

Gdy chcesz zapisać instancję aplikacji do tematu powiadomień push, po prostu wywołaj funkcję setNotificationTopicSubscriptionStatus z nowym statusem subskrypcji (true = zapisany, false = wypisany) i wybraną nazwą tematu.


<script>
    try {
        await setNotificationTopicSubscriptionStatus(true, "mytopic");
    }
    catch (e) {
        // Can occur if:
        // - you passed an invalid topic name.
        // - you didn't pass all necessary parameters to setNotificationTopicSubscriptionStatus().
        // - the app couldn't subscribe to the topic, for example because of connection issues. Should be very unlikely.
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - push notifications are not included in your current plan
        console.log(e);
    }
</script>
    

O czym warto pamiętać:

  • Temat musi pasować do następującego wyrażenia regularnego: [a-zA-Z0-9-_.~%]{1,850}
  • Jedna instancja aplikacji (czyli jedno urządzenie/użytkownik) może być zapisana maksymalnie do 2000 tematów.
  • Chociaż to mało prawdopodobne, zapisanie może się nie udać, więc pamiętaj, aby obsłużyć ewentualne błędy.

Możesz też później pobrać listę tematów, do których zapisana jest instancja aplikacji. Zwracana wartość to lista tekstów.


<script>
    try {
        var topics = (await getSubscribedNotificationTopics())["topics"];
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - push notifications are not included in your current plan
        console.log(e);
    }
</script>
    

Możesz też sprawdzić bardziej rozbudowany przykład kodu. Oto kod przycisku, który zapisuje/wypisuje użytkownika do/z kategorii aktualnej strony na stronie WordPress.

Zrzuty ekranu

W ustawieniach aplikacji użytkownicy mogą też wypisać się z tematów powiadomień.

Zrzut ekranu menu ustawień aplikacji.
Zrzut ekranu menu ustawień aplikacji.
Zrzut ekranu okna dialogowego umożliwiającego wypisanie się z tematów powiadomień push.
Zrzut ekranu okna dialogowego umożliwiającego wypisanie się z tematów powiadomień push.

Dokumentacja endpointów API

Teraz, gdy masz już użytkowników zapisanych do swojego tematu, możesz zacząć wysyłać powiadomienia do tego tematu przez nasze API.

Pobierz swój indywidualny klucz API z panelu aplikacji.

Wyślij swój klucz API jako zapytanie w URL oraz w treści żądania w formacie JSON.