Если у меня есть как родное приложение, так и прогрессивное веб-приложение, использующее веб-push-уведомления, основанные на сервис-воркере, есть ли способ предотвратить получение пользователем дублирующих уведомлений, если они решили получать уведомления с веб-сайта, а также установили приложение ?
Как устранить дубликаты уведомлений между родным и прогрессивным веб-приложением?
Ответы (1)
Короче говоря, сегодня нет простого способа сделать это.
Здесь обсуждается Chrome: https://code.google.com/p/chromium/issues/detail?id=402223
Последний комментарий от октября 2015 года:
На данный момент самым безопасным минимальным решением для сайтов является предоставление простого механизма отказа (который мы настоятельно рекомендуем вам сделать в любом случае!), чтобы пользователи могли отключать уведомления с одной платформы.
Другое возможное решение, основанное на эвристике, состоит в том, чтобы определить, какой интерфейс (веб- или собственный) пользователь чаще всего использует (или последний раз использовал) и отправлять только на него. В сочетании с группировкой этих устройств по примерному размеру экрана должно получиться довольно хорошее приближение.
Проблема заключается в том, что если у пользователя есть два устройства одинакового размера и он использует на одном из них нативное, а на другом — веб-уведомления, то уведомления будут доставляться только на одно из них, что является крайним случаем.
Мы также обсуждали создание API, чтобы сайты могли сообщать, установлено ли их соответствующее собственное приложение, чтобы избежать этого случая, но нам нужно начать обсуждение этого с другими поставщиками браузеров, чтобы узнать, поддержат ли они.