Jak wyświetlić prośbę o zgodę na powiadomienia push

Zaktualizowano 30. marca 2025 przez Jan Bunk


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

Od dłuższego czasu użytkownicy iOS muszą wyrazić zgodę, zanim będzie można wysyłać im powiadomienia push. Od Androida 13 dotyczy to także użytkowników Androida.

Domyślnie aplikacje stworzone z webtoapp.design automatycznie proszą o zgodę po określonej liczbie uruchomień aplikacji. Możesz zmienić tę liczbę w ustawieniach powiadomień push.

Jeśli chcesz poprosić o zgodę na powiadomienia push w innym momencie korzystania z aplikacji, możesz użyć poniższych funkcji JavaScript.

Korzystanie z funkcji 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).

notificationPermissionsGranted

Użyj tej funkcji, gdy chcesz sprawdzić, czy użytkownik wyraził zgodę na powiadomienia push.


<script>
    try {
        // returns true or false
        let granted = (await notificationPermissionsGranted())["granted"];
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - the app couldn't get the push notification permission status. Should be very unlikely.
        // - push notifications are not included in your current plan
        console.log(e);
    }
</script>
    

requestNotificationPermissions

Użyj tej funkcji, gdy chcesz wyświetlić prośbę o zgodę na powiadomienia push.

Funkcja przyjmuje jeden parametr typu boolean, który określa, czy ustawienia powinny zostać otwarte, jeśli zwykła prośba o zgodę została wcześniej odrzucona. Oto zrzuty ekranu stron ustawień, które zostaną otwarte na Androidzie i iOS:

Ekran informacji o aplikacji na Androidzie, gdzie można ręcznie włączyć powiadomienia.
Ekran informacji o aplikacji na Androidzie, gdzie można ręcznie włączyć powiadomienia.
Zrzut ekranu ustawień powiadomień na iOS.
Zrzut ekranu ustawień powiadomień na iOS.

Ponieważ to zachowanie może być mylące dla użytkowników, powinieneś ustawić parametr na true tylko wtedy, gdy użytkownik wyraźnie zaznaczył, że chce włączyć powiadomienia push. Jeśli parametr jest ustawiony na false, funkcja może nic nie robić, jeśli wcześniejsze prośby o zgodę zostały odrzucone.


<script>
    try {
        let openSettingsIfNecessary = false;

        // doesn't return anything
        await requestNotificationPermissions(openSettingsIfNecessary);
    }
    catch (e) {
        // Can occur if:
        // - the app couldn't connect to the native code. Should be very unlikely.
        // - the app couldn't ask for push notification permissions. Should be very unlikely.
        // - push notifications are not included in your current plan
        console.log(e);
    }
</script>