Comment : Afficher l'invite de permission pour les notifications push

Posté le 16. septembre 2022 par Jan Bunk


Les fonctionnalités décrites sur cette page nécessitent l'addon notifications push. Veuillez nous contacter s'il n'est pas encore activé pour votre application.

Depuis un certain temps déjà, il fallait demander la permission aux utilisateurs d'iOS avant de pouvoir leur envoyer des notifications push. Depuis Android 13, cela s'applique également aux utilisateurs d'Android.

Par défaut, les applications créées avec webtoapp.design demandent automatiquement la permission au troisième lancement de l'application. Si vous souhaitez personnaliser ce comportement pour votre application, vous pouvez utiliser les fonctions JavaScript suivantes.

Utilisation des fonctions JavaScript

Nous vous conseillons de consulter la fonction executeWhenAppReady() notre script d'aide à l'application. Cela permet de s'assurer que votre site Web n'essaie pas d'interagir avec l'application avant qu'elle ne soit prête ou pendant le chargement de votre site Web à l'aide d'un navigateur ordinaire.

notificationPermissionsGranted

Utilisez cette fonction lorsque vous voulez vérifier si l'utilisateur a accordé des autorisations de notification 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 enabled for your app
        console.log(e);
    }
</script>
    

requestNotificationPermissions

Utilisez cette fonction lorsque vous souhaitez afficher l'invite d'autorisation de la notification push.

La fonction prend un paramètre booléen qui détermine si les paramètres doivent être ouverts dans le cas où la demande de permission ordinaire a été précédemment rejetée. Voici des captures d'écran des pages de paramètres qui seraient ouvertes sur Android et iOS :

L'écran d'information de l'application Android où les notifications peuvent être activées manuellement.
L'écran d'information de l'application Android où les notifications peuvent être activées manuellement.
Une capture d'écran des paramètres de notification d'iOS.
Une capture d'écran des paramètres de notification d'iOS.

Étant donné que ce comportement pourrait être source de confusion pour les utilisateurs, vous ne devez attribuer la valeur true au paramètre que si l'utilisateur a explicitement indiqué qu'il souhaitait activer les notifications push. Si le paramètre est défini sur false, la fonction peut être un no-op dans le cas où les demandes de permission précédentes n'ont pas été accordées.


<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 enabled for your app
        console.log(e);
    }
</script>