So geht's: Anzeigen der Push-Benachrichtigungs-Erlaubnisabfrage

Veröffentlicht am 16. September 2022 von Jan Bunk


Die auf dieser Seite beschriebenen Funktionen erfordern einen Tarif, der Push-Benachrichtigungen beinhaltet.

Schon eine Weile lang mussten iOS-Nutzer um Erlaubnis gefragt werden, bevor du ihnen Push-Benachrichtigungen schicken konntest. Seit Android 13 gilt dies auch für Android-Nutzer.

Standardmäßig fragen Apps, die mit webtoapp.design erstellt wurden, beim dritten Start der App automatisch nach der Erlaubnis. Wenn du dieses Verhalten für deine App anpassen möchtest, kannst du die folgenden JavaScript-Funktionen verwenden.

Verwendung der JavaScript-Funktionen

Schau dir gerne auch die executeWhenAppReady() Funktion von unser App-Helfer-Skript. Es stellt sicher, dass deine Website nicht versucht, mit der App zu interagieren, bevor sie bereit ist oder wenn deine Website mit einem normalen Browser geladen wird (ReferenceError, Funktion ist nicht definiert).

notificationPermissionsGranted

Verwende diese Funktion, wenn du prüfen willst, ob der Nutzer die Berechtigung für Push-Benachrichtigungen erteilt hat.


<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

Verwende diese Funktion, wenn du die Push-Benachrichtigungsberechtigungsabfrage anzeigen möchtest.

Die Funktion benötigt einen booleschen Parameter, der festlegt, ob die Einstellungen geöffnet werden sollen, wenn die normale Berechtigungsabfrage zuvor abgelehnt wurde. Hier sind Screenshots der Einstellungsseiten, die auf Android und iOS geöffnet werden:

Der Android App-Info-Screen, auf dem Benachrichtigungen manuell aktiviert werden können.
Der Android App-Info-Screen, auf dem Benachrichtigungen manuell aktiviert werden können.
Ein Screenshot der iOS-Benachrichtigungseinstellungen.
Ein Screenshot der iOS-Benachrichtigungseinstellungen.

Da dieses Verhalten für die Nutzer verwirrend sein könnte, solltest du den Parameter nur dann auf true setzen, wenn der Nutzer ausdrücklich gezeigt hat, dass er Push-Benachrichtigungen aktivieren möchte. Wenn der Parameter auf false gesetzt wird, kann die Funktion ein No-op sein, wenn frühere Berechtigungsanfragen nicht gewährt wurden.


<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>