Come rilevare la notifica a livello di dispositivo attivata o disattivata utilizzando JavaScript per l'applicazione PWA?


12

Il mio requisito è come rilevare l'attivazione / disattivazione della notifica a livello di dispositivo nel dispositivo Android tramite JavaScript (non utilizzare alcun tipo di plug-in, è possibile utilizzare il plug-in solo se questo plug-in supporta l'applicazione PWA).

Come se la notifica fosse disattivata, devo mostrare il pop-up all'utente, per favore abilita la funzione di notifica che riceverai le notifiche.

La risposta di seguito è solo per la notifica a livello di browser investigativo. Se qualcuno lo sa, per favore dammi la risposta esatta su come farlo. Perché mi sono fermato lì.

Controlla l'immagine qui abilita l'utente una volta se disabilita l'utente, quindi non riesco a inviare la notifica.

inserisci qui la descrizione dell'immagine


1
Il browser lo restituirà, non credo, quindi è necessario occuparsene. Un browser può chiedere l'autorizzazione solo se sono consentite le notifiche generali. Potremmo connetterci se necessario.
anshulix

1
@anshulix hai ragione. Ho già gestito il livello del browser. Ma se l'utente al di fuori del livello del dispositivo non è in grado di inviare la notifica. quindi, non posso essere abilitato direttamente nel dispositivo dell'utente ed è per questo che sono cosa da mostrare almeno pop-up.
Prabhat,

1
Il browser fornisce solo lo stato di notifica a livello di browser. Immagino che intendi dire come (Notification.permission).
Prabhat,

Qualcuno può dare una risposta ... per favore .. !!
Prabhat,

Se hai abilitato l'interfaccia Android con la webapp, potresti creare un hook in grado di gestirlo per te. Oppure, potresti provare Notification.requestPermission. Non sono davvero sicuro di come funzionerà su una webapp mobile personalizzata.
varun agarwal,

Risposte:


4

La funzionalità sembra essere ben documentata , hai provato:

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

Ehi..Mose .. la tua risposta è per la notifica a livello di browser .. Sto chiedendo a livello di dispositivo..come rilevare?
Prabhat,

Sì, ho provato e implementato a livello di browser. Ma faccio scorta a livello di dispositivo .. rileva notifica.
Prabhat,

@Prabhat secondo MDN "L'API di notifica consente a una pagina Web o a un'app di inviare notifiche visualizzate all'esterno della pagina a livello di sistema; ciò consente alle app Web di inviare informazioni a un utente anche se l'applicazione è inattiva o in background ..."
Mosè Raguzzini,

sì, ma se l'utente ha disattivato la notifica a livello di dispositivo, non riesco a inviare la notifica .. controlla la mia schermata.
Prabhat,

1
@Questa è la sicurezza del browser, per accedere a informazioni di livello superiore dovresti avvolgere la tua webapp in un'app e chiedere direttamente al sistema operativo, quindi propagare le informazioni alla vista web.
Mosè Raguzzini,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.