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.

2 curtidas

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.

1 curtida

Você pode querer solicitar para entrar em @plugin_authors, para que possa postar isso em Customization > Plugin.

2 curtidas

@Michael_Sandler ótimo trabalho. Eu também trabalho em um app Flutter para o Discourse e acabei de lançá-lo. Implementei as Notificações Push de uma forma um pouco diferente da que você fez, e ela não requer a instalação de nenhum plugin, embora não seja instantânea.

Acho que vou seguir o seu caminho assim que houver muitos usuários utilizando o app.

Dê uma olhada e ficarei grato por qualquer feedback. Talvez eu possa usar a sua implementação também.