Powiadomienia Web Push

Powiadomienia Web Push dla Moodle

Czym jest Web Push?

Powiadomienia Web Push pozwalają dostarczać informacje z platformy e-learningowej bezpośrednio na ekran użytkownika — w przeglądarce, na komputerze lub telefonie — nawet wtedy, gdy nie ma on otwartej strony kursu. Użytkownik wyraża zgodę jednym kliknięciem, bez konieczności instalowania aplikacji mobilnej czy podawania adresu e-mail.

Od momentu subskrypcji każde powiadomienie Moodle (nowa ocena, wiadomość od prowadzącego, zbliżający się termin zadania) trafia jako natywne powiadomienie systemowe — takie samo, jakie znamy z aplikacji na telefonie.

Skład pakietu

Kompletne rozwiązanie Web Push składa się z czterech wzajemnie współpracujących wtyczek:

Wtyczka Typ Rola w ekosystemie
message_webpush Message output Silnik całego rozwiązania — obsługuje klucze VAPID, Service Worker, szyfrowanie wiadomości i wysyłkę powiadomień
local_webpush Local plugin Panel administracyjny — masowe powiadomienia, kampanie, statystyki i historia wysyłek
block_webpush Block Blok z kodem QR do szybkiej subskrypcji mobilnej oraz panel zarządzania urządzeniami
enrol_push Enrolment Metoda zapisu na kurs — użytkownik potwierdza uczestnictwo jednym kliknięciem w powiadomienie push

Wtyczką bazową, wymaganą przez pozostałe, jest message_webpush. Pozostałe trzy wtyczki można instalować niezależnie, w zależności od potrzeb.

Jak działa subskrypcja?

  1. Użytkownik loguje się na platformę i widzi dyskretny komunikat z pytaniem o zgodę na powiadomienia.
  2. Jednym kliknięciem potwierdza subskrypcję — przeglądarka rejestruje urządzenie.
  3. Od tego momentu powiadomienia z Moodle trafiają na ekran urządzenia jako powiadomienia systemowe.

Subskrypcja i rezygnacja z niej są w pełni kontrolowane przez użytkownika. Zgodność z RODO jest zapewniona na poziomie mechanizmu — bez wyrażenia zgody żadne powiadomienie nie zostanie wysłane.

Przewaga nad innymi kanałami komunikacji

W porównaniu z e-mailem

Powiadomienia push docierają natychmiast — nie trzeba czekać, aż użytkownik sprawdzi skrzynkę. Nie ma ryzyka, że wiadomość trafi do folderu ze spamem. Push pojawia się na ekranie i jest trudny do przeoczenia.

W porównaniu z aplikacją mobilną

Push działa w przeglądarce — nie wymaga pobierania i instalowania aplikacji z App Store czy Google Play. Nie generuje kosztów budowy i utrzymania osobnej aplikacji. Aktualizacje są automatyczne, bo mechanizm opiera się na standardzie webowym.

W porównaniu z powiadomieniami popup w Moodle

Wbudowane powiadomienia popup w Moodle wymagają, żeby użytkownik miał otwartą platformę. Push działa poza przeglądarką — nawet gdy jest zamknięta. Powiadomienia wyglądają jak natywne systemowe, co zwiększa ich zauważalność.

Typowe zastosowania

  • Przypomnienia o terminach — zbliżające się deadliny zadań, quizów i egzaminów.
  • Informowanie o ocenach — natychmiastowa informacja o wynikach po sprawdzeniu pracy.
  • Wiadomości od prowadzących — bieżąca korespondencja bez konieczności logowania.
  • Ogłoszenia — ważne komunikaty publikowane na forach kursowych.
  • Szkolenia obowiązkowe — przypomnienia o niezrealizowanych szkoleniach compliance.
  • Zapisy na kursy — potwierdzenia i powiadomienia o możliwości dołączenia do kursu.

Integracja z Moodle

Pakiet Web Push wpina się w natywny system powiadomień Moodle. Oznacza to, że:

  • Administrator platformy decyduje, które typy powiadomień mogą być wysyłane kanałem push.
  • Użytkownik samodzielnie wybiera w swoich preferencjach, które powiadomienia chce otrzymywać.
  • Mechanizm działa z każdym rodzajem powiadomienia — również z powiadomieniami generowanymi przez wtyczki zewnętrzne.
  • Pełna kontrola po stronie użytkownika i administratora, zgodność z RODO.

Bezpieczeństwo

  • Szyfrowanie end-to-end — treść powiadomienia jest szyfrowana algorytmem AES-128-GCM zanim opuści serwer.
  • Uwierzytelnianie VAPID — serwer wysyłający jest kryptograficznie zweryfikowany, co zapobiega podszywaniu się.
  • Dane na Twoim serwerze — rozwiązanie nie korzysta z usług zewnętrznych, chmur ani pośredników. Klucze i subskrypcje pozostają na infrastrukturze klienta.
  • Pełna kontrola użytkownika — subskrypcja i rezygnacja jednym kliknięciem.

Kompatybilność przeglądarek

Przeglądarka Desktop Mobile
Chrome ✅ (Android)
Firefox ✅ (Android)
Edge
Safari ✅ (macOS 13+) ✅ (iOS 16.4+)
Opera

Wymagania techniczne

  • Moodle 4.5 lub nowszy
  • HTTPS (certyfikat SSL)
  • PHP 8.1+ z rozszerzeniem OpenSSL

Instalacja trwa ok. 15 minut. Rozwiązanie nie wymaga dodatkowych serwerów, usług zewnętrznych ani płatnych kluczy API.

 


Opis poszczególnych wtyczek

message_webpush — Silnik powiadomień Web Push

Bazowa wtyczka odpowiedzialna za cały mechanizm dostarczania powiadomień push. Obsługuje generowanie i zarządzanie kluczami VAPID, rejestrację Service Workera w przeglądarce użytkownika, szyfrowanie treści powiadomień oraz ich wysyłkę do zarejestrowanych urządzeń.

Jest to wtyczka typu message output, co oznacza, że pojawia się w Moodle jako dodatkowy kanał dostarczania powiadomień — obok e-maila i powiadomień popup. Administrator może włączać i wyłączać ją dla poszczególnych typów powiadomień, a użytkownik zarządza swoimi preferencjami w standardowy sposób.

Wymagania: Moodle 4.5+, HTTPS, PHP 8.1+ z OpenSSL.

block_webpush — Subskrypcja mobilna przez QR kod

Problem, który rozwiązuje

Użytkownicy platformy e-learningowej często pracują na komputerze stacjonarnym, ale chcieliby otrzymywać powiadomienia na telefon. Logowanie się do Moodle na telefonie bywa uciążliwe, a dedykowane aplikacje mobilne wymagają instalacji.

Blok widoczny np w profilu użytkownika - pozwala zeskanować kod

Jak działa blok QR

  1. Zalogowany użytkownik widzi blok na Dashboardzie, stronie kursu lub w profilu.
  2. Skanuje wyświetlony kod QR aparatem telefonu.
  3. W przeglądarce mobilnej otwiera się strona z pytaniem o zgodę na powiadomienia.
  4. Jedno kliknięcie — push jest aktywny na telefonie.

Cały proces trwa ok. 10 sekund. Nie wymaga wpisywania hasła ani instalowania czegokolwiek.

Zarządzanie urządzeniami

Pod kodem QR wyświetla się lista aktywnych urządzeń użytkownika: nazwa przeglądarki, typ urządzenia (desktop / mobile / tablet), data subskrypcji oraz przycisk umożliwiający usunięcie urządzenia z listy. Limit wynosi 5 urządzeń na użytkownika.

Bezpieczeństwo subskrypcji QR

  • Każdy wygenerowany kod QR zawiera jednorazowy token — działa tylko raz.
  • Token wygasa po 15 minutach od utworzenia.
  • Przeterminowane tokeny są automatycznie usuwane co 15 minut.
  • Wtyczka implementuje Moodle Privacy API (zgodność z RODO).

Gdzie umieścić blok

Blok można dodać na Dashboard (widoczny zaraz po zalogowaniu), na stronie kursu (kontekstowe powiadomienia kursowe) lub na stronie głównej (szybki onboarding nowych użytkowników).

Wymagania: Moodle 4.5+, HTTPS, zainstalowana i skonfigurowana wtyczka message_webpush.

local_webpush — Panel administracyjny (masowe powiadomienia)

Do czego służy

Web Push Admin to narzędzie do masowego wysyłania powiadomień push z poziomu panelu administracyjnego Moodle. Pozwala dotrzeć z ważnym komunikatem do wybranej grupy użytkowników w ciągu kilku sekund — bez obciążania skrzynek mailowych.

Precyzyjne targetowanie odbiorców

Powiadomienie można skierować do: wszystkich aktywnych subskrybentów, uczestników wybranego kursu, użytkowników posiadających określoną rolę (np. nauczyciele, managerowie) lub członków konkretnej kohorty.

Planowanie i personalizacja wysyłki

  • Wyślij teraz — natychmiastowa dystrybucja do wybranej grupy.
  • Zaplanuj wysyłkę — ustawienie konkretnej daty i godziny.
  • Niestandardowe ikony — możliwość dodania logo organizacji do powiadomienia.
  • URL docelowy — po kliknięciu w powiadomienie użytkownik trafia na wskazaną stronę.

Monitoring i raportowanie

Panel oferuje dashboard z liczbą aktywnych subskrypcji i przeprowadzonych kampanii, pełną historię wysyłek (co, kiedy, do kogo) oraz szczegółowe logi z informacją o statusie dostarczenia per użytkownik i wskaźnikiem skuteczności.

Przykłady użycia

  • Szkolenie obowiązkowe — „Przypomnienie: do piątku musisz ukończyć szkolenie BHP." Powiadomienie trafia natychmiast do uczestników kursu.
  • Przerwa techniczna — „Przerwa serwisowa 15.03 w godz. 22:00–6:00." Jeden klik — informacja u wszystkich subskrybentów.
  • Promocja kursu — „Nowy kurs: Zarządzanie projektami — zapisz się!" Kierowanie do wybranej kohorty z linkiem do zapisu.
  • Deadline — „Ostatni dzień na oddanie projektu." Zaplanowanie powiadomienia na 24 godziny przed terminem.

Kontrola uprawnień i audyt

Wysyłkę masowych powiadomień mogą realizować wyłącznie użytkownicy z odpowiednimi uprawnieniami (np. manager). Pełna historia wysyłek stanowi ścieżkę audytową. Stare kampanie i logi są automatycznie czyszczone.

Wymagania: Moodle 4.5+, HTTPS, zainstalowana i skonfigurowana wtyczka message_webpush.

enrol_push — Zapis na kurs przez powiadomienie push

Idea

Zamiast tradycyjnego, natychmiastowego zapisu na kurs, użytkownik otrzymuje powiadomienie push na swoje urządzenia i potwierdza uczestnictwo jednym kliknięciem. To kontrolowany mechanizm rekrutacji — bezpieczny, szybki i wygodny.

Przebieg zapisu

  1. Administrator dodaje metodę „Zapis przez Push" do wybranego kursu.
  2. Użytkownik odwiedza stronę kursu i klika „Poproś o zapis".
  3. Powiadomienie push dociera natychmiast na wszystkie urządzenia użytkownika.
  4. Jedno kliknięcie w powiadomienie — użytkownik zostaje zapisany na kurs.
  5. Następuje automatyczne przekierowanie do kursu.

Korzyści dla administratora

  • Pełna kontrola nad procesem zapisu — kto, kiedy i na jakich warunkach.
  • Bezpieczeństwo — jednorazowe tokeny kryptograficzne (SHA-256) eliminują nadużycia.
  • Elastyczny czas ważności tokenu — od 5 minut do 24 godzin.
  • Samooczyszczający się system — wygasłe tokeny są usuwane automatycznie.
  • Monitoring w logach Moodle.

Korzyści dla użytkownika

  • Zapis jednym kliknięciem w powiadomienie — bez dodatkowych formularzy.
  • Działa na każdym urządzeniu z przeglądarką.
  • Powiadomienie dociera w czasie rzeczywistym.

Konfiguracja per kurs

Każda instancja metody zapisu pozwala ustawić indywidualnie:

Parametr Możliwości
Ważność tokenu od 5 minut do 24 godzin
Rola po zapisie Student, Teacher, Manager lub rola niestandardowa
Czas trwania zapisu nieograniczony lub od 1 dnia do 1 roku
Okno czasowe data rozpoczęcia i zakończenia przyjmowania zapisów
Powiadomienia alerty o zbliżającym się wygaśnięciu zapisu

Przykładowe scenariusze

  • Szkolenia korporacyjne — kontrolowany nabór na szkolenia obowiązkowe, ograniczenie liczby miejsc.
  • Uczelnie — zapisy na przedmioty z limitem miejsc, kursy fakultatywne, warsztaty.
  • Szkolenia otwarte — weryfikacja uczestników przed zapisem, zarządzanie grupami.

Wymagania: Moodle 4.5+, HTTPS, zainstalowana i skonfigurowana wtyczka message_webpush.

Komponenty

Pakiet wtyczek

Last modified: Tuesday, 31 March 2026, 9:12 AM