Как устранить дубликаты уведомлений между родным и прогрессивным веб-приложением?

Если у меня есть как родное приложение, так и прогрессивное веб-приложение, использующее веб-push-уведомления, основанные на сервис-воркере, есть ли способ предотвратить получение пользователем дублирующих уведомлений, если они решили получать уведомления с веб-сайта, а также установили приложение ?


person owencm    schedule 20.11.2015    source источник


Ответы (1)


Короче говоря, сегодня нет простого способа сделать это.

Здесь обсуждается Chrome: https://code.google.com/p/chromium/issues/detail?id=402223

Последний комментарий от октября 2015 года:

На данный момент самым безопасным минимальным решением для сайтов является предоставление простого механизма отказа (который мы настоятельно рекомендуем вам сделать в любом случае!), чтобы пользователи могли отключать уведомления с одной платформы.

Другое возможное решение, основанное на эвристике, состоит в том, чтобы определить, какой интерфейс (веб- или собственный) пользователь чаще всего использует (или последний раз использовал) и отправлять только на него. В сочетании с группировкой этих устройств по примерному размеру экрана должно получиться довольно хорошее приближение.

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

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

person Matt Gaunt    schedule 05.01.2016
comment
Обратите внимание, что теперь в этом выпуске есть небольшое обновление, в котором описывается несколько дополнительных методов, которые можно использовать. - person owencm; 08.03.2016