Как обнаружить уведомление об уровне устройства ВКЛ или ВЫКЛ, используя JavaScript для приложения PWA?

12

Мое требование заключается в том, как обнаружить / отключить уведомление на уровне устройства на устройстве Android с помощью javascript (не используйте плагин любого типа, только вы можете использовать плагин, если этот плагин поддерживает приложение PWA).

В случае если уведомление отключено, мне нужно показать всплывающее окно для пользователя, пожалуйста, включите функцию уведомления, которую вы получите уведомления.

Ниже ответ только для детективного уровня уведомления браузера. Если кто-нибудь знает, пожалуйста, дайте мне точный ответ, как это сделать. Потому что я остановился там.

Пожалуйста, проверьте изображение здесь, чтобы пользователь включил один раз, если пользователь отключил, то я не могу отправить уведомление.

введите описание изображения здесь

Prabhat
источник
1
Браузер собирается вернуть это, я не думаю, поэтому вам нужно позаботиться об этом. Браузер может запрашивать разрешение, только если разрешены общие уведомления. Мы могли бы подключиться, если требуется.
anshulix
1
@anshulix ваше право. Я уже обработал уровень браузера. Но если пользователь отключен от уровня устройства, я не могу выдвинуть уведомление. поэтому я не могу включить прямое подключение на пользовательском устройстве, поэтому я должен показывать, по крайней мере, всплывающее окно.
Прабхат
1
Браузер только дает статус уведомления уровня браузера. Я думаю, вы хотите сказать, как (Notification.permission).
Прабхат
Кто-нибудь может дать ответ .. пожалуйста .. !!
Прабхат
Если вы включили Android интерфейс с веб-приложением, то вы можете создать ловушку, которая может обработать его для вас. Или вы можете попробовать Notification.requestPermission. Не совсем уверен, насколько хорошо он будет работать в пользовательском мобильном веб-приложении.
Варун Агарвал

Ответы:

4

Эта функция хорошо документирована , вы пробовали:

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
источник
Эй .. Моисей .. Ваш ответ для уведомления на уровне браузера .. Я спрашиваю об уровне устройства .. как определить?
Прабхат
Да, я пробовал и реализовал для уровня браузера. Но я запасаюсь по уровню устройства .. уведомление обнаруживает.
Прабхат
@Prabhat в соответствии с MDN «API уведомлений позволяет веб-странице или приложению отправлять уведомления, которые отображаются за пределами страницы на системном уровне; это позволяет веб-приложениям отправлять информацию пользователю, даже если приложение находится в режиме ожидания или в фоновом режиме ...»
Mosè Raguzzini
да, но если пользователь отключил уведомление на уровне устройства, я не могу нажать на уведомление ... пожалуйста, проверьте мой снимок экрана.
Прабхат
1
@ Это безопасность браузера, чтобы получить доступ к информации более высокого уровня, вам нужно обернуть ваше веб-приложение в приложение и напрямую обратиться к ОС, а затем распространить информацию в веб-представлении.
Mosè Raguzzini