Como detectar a notificação no nível do dispositivo LIGADA ou DESLIGADA usando javascript para o aplicativo PWA?

12

Meu requisito é como detectar / ativar a notificação no nível do dispositivo no dispositivo Android usando javascript (não use nenhum tipo de plug-in apenas, você pode usá-lo se esse plug-in for compatível com o aplicativo PWA).

Como se a notificação estivesse desativada, eu preciso mostrar o pop-up ao usuário. Ative o recurso de notificação. Você receberá notificações.

A resposta abaixo é apenas para notificação no nível do navegador detetive. Se alguém souber, por favor, responda-me exatamente como fazê-lo. Porque eu parei por aí.

Marque a imagem aqui, habilite o usuário uma vez, se o usuário desabilitar, não consigo enviar notificação.

insira a descrição da imagem aqui

Prabhat
fonte
11
O navegador retornará isso, acho que você não precisa cuidar disso. Um navegador só pode pedir permissão se forem permitidas notificações gerais. Poderíamos conectar, se necessário.
Anshulix 14/11/19
11
@anshulix seu direito. Eu já lidei com o nível do navegador. Mas se o usuário estiver fora do nível do dispositivo, não consigo enviar a notificação. então, não posso ativar diretamente no dispositivo do usuário, é por isso que devo exibir pelo menos uma janela.
Prabhat
11
O navegador fornece apenas o status de notificação no nível do navegador. Acho que você quer dizer como (Notification.permission).
Prabhat
Alguém pode dar resposta .. por favor .. !!
Prabhat
Se você ativou a interface do Android com o aplicativo da Web, pode criar um gancho que pode lidar com isso para você. Ou, você pode tentar Notification.requestPermission. Não tenho muita certeza de como funcionará em um aplicativo da web móvel personalizado.
varun agarwal

Respostas:

4

O recurso parece estar bem documentado , você já tentou:

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.
}
Mosè Raguzzini
fonte
Hey..Mose .. sua resposta é para notificação no nível do navegador .. Estou perguntando sobre o nível do dispositivo .. como detectar?
Prabhat
Sim, tentei e implementei no nível do navegador. Mas eu estoque acima do nível do dispositivo .. notificação de detecção.
Prabhat
@Prabhat de acordo com o MDN "A API de Notificações permite que uma página da Web ou aplicativo envie notificações exibidas fora da página no nível do sistema; isso permite que os aplicativos da Web enviem informações a um usuário, mesmo que o aplicativo esteja ocioso ou em segundo plano .."
Mosè Raguzzini
sim, mas se o usuário desligar a notificação no nível do dispositivo, não conseguirá enviar a notificação. verifique minha captura de tela.
Prabhat
11
@Esta é a segurança do navegador. Para acessar informações de nível superior, você deve agrupar seu aplicativo da web em um aplicativo e perguntar diretamente ao sistema operacional, depois propagar as informações para a visualização da web.
Mosè Raguzzini