PHP push-уведомления Google

Я занимаюсь исследованием того, как использовать ((push-уведомления google)) с PHP, но там не так много рабочих примеров / документации ...

Я пытаюсь заставить это работать во внутренней сети, которая не открыта извне, через HTTP.

Мне удалось заставить это работать через HTTPS из нашего внешнего домена, но внутренняя попытка сообщает мне в консоли Chrome, что "the API may no longer be used from insecure origins", который, как я обнаружил, означает, что для него требуется HTTPS.

Кто-нибудь знает о возможном обходном пути для этого: подделать HTTPS или разрешить ему продолжать работу по HTTP? Я понимаю, что Google ввел это в качестве превентивной меры для людей со злым умыслом, но здесь дело обстоит не так, поскольку это будет для частного использования.

Мой HTML - это просто кнопка с событием onclick = "notifyMe()".

Скрипт для запроса разрешения и функция для уведомления:

<script>
// request permission on page load
document.addEventListener('DOMContentLoaded', function () {
  if (!Notification) {
    alert('Desktop notifications not available in your browser. Try Chromium.'); 
    return;
  }

  if (Notification.permission !== "granted")
    Notification.requestPermission();
});

function notifyMe() {
  if (Notification.permission !== "granted")
    Notification.requestPermission();
  else {
    var notification = new Notification('Notification title', {
      icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
      body: "Hey there! You've been notified!",
    });

    notification.onclick = function () {
      window.open("http://example.com");      
    };

  }

}
</script>

JS-файл с параметрами уведомлений и разрешениями:

'use strict';

var button = document.querySelector('button');
var input = document.querySelector('input');

var notify = function() {
  var options = {
    body: input.value,
    icon: 'icon.png',
    tag: 'foo',
    type: 'basic'
  };
  var n = new Notification('Greetings!', options);
  n.onclick = function() {
    console.info('Clicked.');
  };
  n.onclose = function() {
    console.info('Closed.');
  };
  n.onshow = function() {
    console.info('Shown.');
  };
};

button.onclick = function() {
  if (!('Notification' in window)) {
    alert('This browser does not support desktop notification');
  } else if (Notification.permission === 'granted') {
    notify();
  } else if (Notification.permission !== 'denied') {
    Notification.requestPermission(function(permission) {
      if (!('permission' in Notification)) {
        Notification.permission = permission;
      }
      if (permission === 'granted') {
        notify();
      }
    });
  }
};
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
1 180
1

Ответы 1

После обширного исследования и тестирования я обнаружил, что невозможно использовать уведомления Google Chrome без HTTPS-соединения, даже если оно находится во внутренней сети.

Я выбрал установку сертификата SSL, и это решило мою проблему.

Другие вопросы по теме