Jak wykryć WŁĄCZENIE lub WYŁĄCZENIE powiadomienia na poziomie urządzenia za pomocą javascript dla aplikacji PWA?

12

Moim wymaganiem jest, jak wykrywać włączanie / wyłączanie powiadomień na poziomie urządzenia w urządzeniu z Androidem za pomocą javascript (nie używaj żadnych wtyczek, tylko Ty możesz użyć wtyczki, jeśli ta wtyczka obsługuje aplikację PWA).

Jak na powiadomienie wyłączone Muszę pokazać wyskakujące okno dla użytkownika, włącz funkcję powiadomień, aby otrzymywać powiadomienia.

Poniższa odpowiedź dotyczy tylko powiadomienia na poziomie detektywa. Jeśli ktoś wie, proszę dać mi dokładną odpowiedź, jak to zrobić. Ponieważ się tam zatrzymałem.

Sprawdź obraz tutaj Włącz opcję użytkownika raz, jeśli użytkownik zostanie wyłączony, nie mogę wysłać powiadomienia.

wprowadź opis zdjęcia tutaj

Prabhat
źródło
1
Przeglądarka to zwróci, nie sądzę, więc musisz się tym zająć. Przeglądarka może poprosić o pozwolenie tylko wtedy, gdy ogólne powiadomienia są dozwolone. W razie potrzeby możemy się połączyć.
anshulix
1
@anshulix twoje prawo. Już obsługiwałem poziom przeglądarki. Ale jeśli użytkownik z poziomu urządzenia nie jest w stanie przekazać powiadomienia. więc nie mogę włączyć bezpośrednio w urządzeniu użytkownika, dlatego powinienem wyświetlać przynajmniej wyskakujące okienko.
Prabhat
1
Przeglądarka podaje tylko status powiadomienia na poziomie przeglądarki. Chyba masz na myśli coś podobnego (Notification.permission).
Prabhat
Czy ktoś może odpowiedzieć ... proszę .. !!
Prabhat
Jeśli włączyłeś interfejs Androida w aplikacji internetowej, możesz utworzyć hak, który może go obsłużyć. Lub możesz spróbować Notification.requestPermission. Nie jestem pewien, jak dobrze będzie działać na niestandardowej aplikacji mobilnej.
varun agarwal

Odpowiedzi:

4

Funkcja wydaje się być dobrze udokumentowana , czy próbowałeś:

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
źródło
Hej .. Mojżeszu ... Twoja odpowiedź to powiadomienie na poziomie przeglądarki .. Pytam o poziom urządzenia ... jak to wykryć?
Prabhat,
Tak, próbowałem i zaimplementowałem na poziomie przeglądarki. Ale mam zapas ponad poziomem urządzenia .. wykrywanie powiadomień.
Prabhat,
@Prabhat według MDN „Interfejs API powiadomień umożliwia stronie internetowej lub aplikacji wysyłanie powiadomień wyświetlanych poza stroną na poziomie systemu; pozwala to aplikacjom internetowym wysyłać informacje do użytkownika, nawet jeśli aplikacja jest bezczynna lub działa w tle.”
Mosè Raguzzini,
tak, ale jeśli użytkownik wyłączy powiadomienie na poziomie urządzenia, nie będę mógł przekazać powiadomienia ... proszę sprawdzić zrzut ekranu.
Prabhat,
1
@To jest bezpieczeństwo przeglądarki, aby uzyskać dostęp do informacji na wyższym poziomie, należy owinąć aplikację internetową i poprosić bezpośrednio o system operacyjny, a następnie rozpowszechnić informacje w widoku internetowym.
Mosè Raguzzini,