Функция TTL не работает в push-уведомлении Google Chrome

Я использую GCM для отправки push-уведомлений в Chrome и сталкиваюсь с некоторыми проблемами следующим образом. Я использую web-push библиотеки nodejs для отправки push.

1) Я устанавливаю ключ TTL со значением 0 для sendNotification веб-push и отправляю уведомление, когда мой браузер находится в автономном режиме. И я открыл свой браузер через минуту. Тем не менее я получаю уведомление. Я попытался отправить запрос curl, а также установить заголовок TTL, но все та же проблема. Согласно документу, если для заголовка TTL установлено значение 0 и если конечный пользователь находится в автономном режиме, он не должен получать уведомление. https://www.npmjs.com/package/web-push

2) Существует опция для ключа временной метки при отображении уведомлений, которая изменит временную метку на Android Chrome при изменении порядка на рабочем столе Chrome. все еще время не меняется на Android Chrome, даже устанавливая это поле. https://developers.google.com/web/updates/2016/03/notifications?hl=en

Заранее спасибо.


person nikhil mogallapalli    schedule 16.06.2016    source источник


Ответы (1)


Здесь следует отметить несколько вещей:

Chrome исторически использовал GCM API, а не протокол веб-push для отправки push-сообщений. Библиотека web-push предназначена для использования протокола web-push и своего рода отката к GCM, поскольку Chrome здесь делает проприетарные/нестандартные вещи.

API GCM не использует заголовок «TTL», который использует протокол веб-push, вместо этого API GCM использует параметр «time_to_live», если он установлен, который, я не верю, использует библиотека веб-push.

Конечная точка GCM недавно начала поддерживать протокол web-push, и я подниму PR, чтобы переместить на него библиотеку web-push.

person Matt Gaunt    schedule 20.06.2016