Zaktualizowano 30. marca 2025 przez Jan Bunk
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.
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:
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>
Oto lista powiązanej dokumentacji deweloperskiej dotyczącej powiadomień push:
A tutaj kilka innych (nietechnicznych) artykułów związanych z powiadomieniami push: