Я использую push-уведомление Chrome для пользователей моего веб-сайта. Что я могу успешно сделать с помощью сервисного работника. Я слежу за этими статьями / руководствами
- https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl=en
- http://www.html5rocks.com/en/tutorials/service-worker/introduction/
Это очень хорошо работает, когда я хочу отправить уведомление СЕЙЧАС, т.е. без планирования на будущее.
Моя проблема:
Я хочу запланировать это уведомление, чтобы оно могло повторяться позже в тот же день, что я могу сделать с помощью cron. Но GCM не отправляет вам полезные данные, как указано здесь https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl=en, и я цитирую.
Обратной стороной текущей реализации Push API в Chrome является то, что вы не можете отправлять какие-либо данные с помощью push-сообщения. Нет, ничего. Причина этого в том, что в будущей реализации данные полезной нагрузки должны будут быть зашифрованы на вашем сервере, прежде чем они будут отправлены в конечную точку обмена push-сообщениями. Таким образом, конечная точка, какой бы поставщик push-уведомлений она ни была, не сможет легко просматривать содержимое push-сообщения. Это также защищает от других уязвимостей, таких как плохая проверка сертификатов HTTPS и атаки типа «злоумышленник в середине» между вашим сервером и поставщиком push-уведомлений. Однако это шифрование пока не поддерживается, поэтому пока вам необходимо выполнить выборку, чтобы получить информацию, необходимую для заполнения уведомления.
Из-за этого я не могу понять, для какого запланированного уведомления я получил push-событие в браузере. Поскольку в GCM может быть отправлено несколько уведомлений.
Я получаю последнюю запись в таблицах уведомлений, т.е. я всегда показываю данные последней записи. Поскольку я не знаю, для какого уведомления я получаю событие push в браузере Chrome.
Мой вопрос:
Есть ли обходной путь для планирования уведомлений и отображения правильных уведомлений клиенту / браузеру? Возможно ли это вообще в родном chrome push api?