Ativar notificações push não assina de fato se o consentimento for necessário

Durante a integração inicial, observei que usuários de iOS instalam os fóruns como um PWA e, em seguida, recebem o banner de consentimento de notificação ao abrirem o PWA pela primeira vez.
Se eles clicarem em “ativar notificações” neste banner de consentimento, eles serão solicitados a conceder permissões e a notificação de confirmação será enviada a eles depois.

No entanto, isso não inscreve realmente os usuários para notificações push, o que é inesperado!

Parece que para o banner de consentimento de notificação, o código aqui seguirá primeiro o caminho else para solicitar o consentimento do usuário (Notification.requestPermission), mas NÃO se inscreverá para notificações push (subscribePushNotification).


A solução alternativa neste momento é que os usuários acessem suas preferências de notificação e cliquem no botão “ativar notificações” lá.

1 curtida

Muito obrigado pela solicitação de pull detalhada, alguém da equipe analisará nas próximas semanas!

1 curtida

Obrigado!

Fiz mais alguns trabalhos nesse PR desde que o publiquei - espero que não seja muito :slight_smile:
Acho que isso melhorará substancialmente a integração do Discourse com o WebPush, e deve dar a vocês um ponto de extensão que podem usar para incentivar os usuários do iOS a instalar o Discourse como um PWA.

1 curtida

Implantei essa alteração nos meus fóruns e ela já está ativa.
Acho que isso realmente aumentará a participação dos meus usuários :smiley:

Pedi a alguém para verificar meus fóruns e confirmei que essa pessoa foi solicitada a ativar notificações push (tanto no desktop quanto no Android). Eles também estão cadastrados no backend (na tabela push_notifications).
Agora, tudo o que resta é fazer com que todos os outros verifiquem os fóruns novamente.

P.S.: Este prompt ainda está restrito por esta configuração:

2 curtidas

Agradeço todo o trabalho aqui, estamos voltando agora do nosso encontro, poderemos fazer uma revisão adequada nas próximas semanas.

1 curtida