В ходе первоначального онбординга я заметил, что пользователи iOS устанавливают форумы как PWA, а затем получают баннер с запросом согласия на уведомления при первом открытии PWA.
Если они нажимают «Включить уведомления» в этом баннере, система запрашивает разрешение, и после этого им отправляется уведомление с подтверждением.
Однако это на самом деле не подписывает пользователей на push-уведомления, что неожиданно!
Похоже, что для баннера согласия на уведомления код здесь сначала идёт по ветке else, чтобы запросить согласие пользователя (Notification.requestPermission), но он НЕ подписывает на push-уведомления (subscribePushNotification).
Временное решение на данный момент — пользователям перейти в настройки уведомлений и нажать кнопку «Включить уведомления» там.
С момента публикации я доработал этот PR — надеюсь, это не слишком много
Думаю, это значительно улучшит интеграцию Discourse с WebPush и предоставит вам точку расширения, которую можно использовать, чтобы побуждать пользователей iOS устанавливать Discourse в качестве PWA.
Я развернул это изменение на своих форумах, и оно уже в работе.
Думаю, это действительно повысит активность моих пользователей
Я попросил кого-то проверить мои форумы, и подтвердил, что им было предложено включить push-уведомления (и на рабочем столе, и на Android). Они также зарегистрированы на бэкенде (в таблице push_notifications).
Теперь осталось только попросить всех остальных снова зайти на форумы.
P.S: Этот запрос по-прежнему скрыт за этой настройкой: