Как определить, какое устройство push-уведомлений использует пользователь в настоящее время? - PullRequest
0 голосов
/ 10 октября 2019

Я хотел бы показать список устройств, для которых пользователь включил push-уведомления на своей панели инструментов. В этом списке я хотел бы выделить текущее устройство, которое они используют, если оно находится в списке, или показать кнопку «Добавить это устройство», если его нет в списке. Допустим, пользователь включил push-уведомления на своем телефоне и на рабочем столе. Они входят в приборную панель на своем телефоне. Можно ли мне сказать, что это их телефон? Кроме того, что если они решат заблокировать уведомления в своем браузере или выполнить сброс настроек (моя база данных не будет синхронизироваться, очевидно)? Итак, что может быть хорошим способом для удаления этого старого устройства из списка?

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

Я подумал, может быть, передать жестко закодированную (но сгенерированную) переменную id в сервисный работник?

let deviceId = 0;

Но это кажется действительно неуклюжим. Есть ли лучший способ?

PS. Мой бэкэнд - это PHP и MYSQL. Не думаю, что это имеет значение, но любые ответы с серверным кодом я бы предпочел с этими. Я думаю, что это все на стороне клиента.

1 Ответ

1 голос
/ 10 октября 2019

Если пользователь перезагружает браузер (устройство), вы обнаружите его, только попытавшись отправить что-то и получив 404. Поэтому невозможно всегда иметь возможность отображать список устройств со 100% правильной информацией, если вы 'не спамить пользователя все время. Вероятно, вы могли бы показать что-то похожее на то, когда в последний раз было доставлено push-сообщение на определенное устройство, возможно, это было бы хорошо для UX.

Чтобы определить, какое из устройств является текущим, просматривая список, просто используйтекакой-то идентификатор, который сохраняется в БД при создании push-подписки. Затем удерживайте этот идентификатор в устройстве (браузере) и, основываясь на этом, сделайте один из элементов в списке всплывающим.

...