Discourse Mobile Push — notificações push via FCM para aplicativos móveis

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.

1 curtida

Fico feliz em compartilhar como implementei isso no meu aplicativo wrapper em Flutter para meu fórum Discourse. Ainda não fiz para a Apple, apenas para Android.