Desenvolvi um novo plugin para o Discourse que envia notificações push para aplicativos nativos Android/iOS usando o Firebase Cloud Messaging (FCM).
Por quê?
O plugin existente discourse-fcm-notifications oferece funcionalidade semelhante, mas não está mais atualizado com as versões atuais do Discourse. A instalação dele em uma instalação atual do Discourse gera avisos.
Tive dificuldades para fazer o plugin antigo funcionar em outros dispositivos de teste. Em vez de tentar atualizá-lo, decidi construir uma nova implementação do zero.
Funcionalidades
- Notificações push via FCM para aplicativos móveis nativos
- Múltiplos dispositivos por usuário
- Registro e remoção de dispositivos através de uma API
- Links diretos (deep links) para o tópico, post ou chat relevante no Discourse
- Remoção automática de tokens FCM inválidos ou expirados
- Tratamento de novas tentativas (retry) para falhas temporárias no Firebase
- Modo de privacidade opcional com conteúdo genérico nas notificações
- Diagnósticos de administrador e ferramentas de notificação de teste
- Utiliza o sistema de notificações e as preferências existentes do Discourse
O plugin tem como objetivo fornecer a camada de entrega entre o Discourse e um aplicativo móvel nativo; o Discourse continua sendo responsável por decidir quais notificações um usuário recebe.
Desenvolvimento assistido por IA
Uma parte significativa deste plugin foi desenvolvida com a assistência de IA. Estou publicando aqui em parte para obter feedback de desenvolvedores experientes do Discourse e identificar algo que deva ser alterado ou melhorado.
Ele possui licença MIT.
Feedbacks, relatórios de bugs e sugestões são bem-vindos.