Comment détecter ou désactiver la notification de niveau de périphérique en utilisant javascript pour l'application PWA?


12

Mon exigence est de savoir comment détecter la notification de niveau d'appareil on / off dans un appareil Android en utilisant javascript (n'utilisez aucun type de plug-in, vous pouvez uniquement utiliser le plug-in si ce plugin prend en charge l'application PWA).

Selon si la notification est désactivée, je dois montrer la fenêtre contextuelle à l'utilisateur, veuillez activer la fonction de notification, vous recevrez des notifications.

La réponse ci-dessous concerne uniquement la notification au niveau du navigateur. Si quelqu'un le sait, donnez-moi la réponse exacte comment le faire. Parce que je me suis arrêté là.

Veuillez vérifier l'image ici, activer l'utilisateur une fois si l'utilisateur le désactive, je ne peux pas envoyer de notification.

entrez la description de l'image ici


1
Le navigateur va retourner cela, je ne pense pas, vous devez donc vous en occuper. Un navigateur ne peut demander la permission que si les notifications globales sont autorisées. Nous pourrions nous connecter si nécessaire.
anshulix

1
@anshulix votre droite. J'ai déjà géré le niveau du navigateur. Mais si l'utilisateur hors du niveau de l'appareil, je ne peux pas pousser la notification. donc, je ne peux pas être activé directement dans la machine utilisateur, c'est pourquoi je suis obligé d'afficher au moins une fenêtre contextuelle.
Prabhat

1
Le navigateur ne donne qu'un état de notification au niveau du navigateur ... Je suppose que vous voulez dire comme (Notification.permission).
Prabhat

Quelqu'un peut-il donner une réponse .. s'il vous plaît .. !!
Prabhat

Si vous avez activé l'interface Android avec la webapp, vous pouvez créer un crochet qui peut le gérer pour vous. Ou, vous pouvez essayer Notification.requestPermission. Je ne sais pas vraiment comment cela fonctionnera sur une webapp mobile personnalisée.
varun agarwal

Réponses:


4

La fonctionnalité semble bien documentée , avez-vous essayé:

function notifyMe() {
  // Let's check if the browser supports notifications
  if (!("Notification" in window)) {
    console.log("This browser does not support desktop notification");
  }

  // Let's check whether notification permissions have alredy been granted
  else if (Notification.permission === "granted") {
    // If it's okay let's create a notification
    var notification = new Notification("Hi there!");
  }

  // Otherwise, we need to ask the user for permission
  else if (Notification.permission !== 'denied' || Notification.permission === "default") {
    Notification.requestPermission(function (permission) {
      // If the user accepts, let's create a notification
      if (permission === "granted") {
        var notification = new Notification("Hi there!");
      }
    });
  }

  // At last, if the user has denied notifications, and you 
  // want to be respectful there is no need to bother them any more.
}

Hey..Mose .. votre réponse est pour la notification au niveau du navigateur .. Je demande au niveau de l'appareil .. comment détecter?
Prabhat

Oui, j'ai essayé et implémenté au niveau du navigateur. Mais je stocke sur le niveau de l'appareil .. détection de notification.
Prabhat

@Prabhat selon MDN "L'API Notifications permet à une page Web ou une application d'envoyer des notifications qui sont affichées en dehors de la page au niveau du système; cela permet aux applications Web d'envoyer des informations à un utilisateur même si l'application est inactive ou en arrière-plan .."
Mosè Raguzzini

oui mais si l'utilisateur hors de la notification au niveau de l'appareil, je ne peux pas pousser la notification .. veuillez vérifier ma capture d'écran.
Prabhat

1
@ Il s'agit de la sécurité du navigateur.Pour accéder à des informations de niveau supérieur, vous devez envelopper votre application Web dans une application et demander directement au système d'exploitation, puis propager les informations à la vue Web.
Mosè Raguzzini
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.