Notificaciones push para aplicaciones de iPhone y Android

:information_source: Resumen Envía notificaciones push de Discourse a iOS o Android a través de tu propia aplicación
:hammer_and_wrench: Enlace al Repositorio GitHub - Sprachprofi/discourse-fcm-notifications: Send Discourse push notifications through FCM to any custom app
:open_book: Guía de Instalación Cómo instalar plugins en Discourse

Características

Si tienes una aplicación que la gente puede usar para navegar por tu foro de Discourse, este plugin permitirá que tu foro envíe notificaciones push a través de la aplicación. (Si aún no tienes una aplicación pero te gustaría tenerla, consulta esta solución minimalista.)

Conveniente para los usuarios: cuando un usuario recibe una notificación push sobre un mensaje privado, al tocar esa notificación se abrirá tu aplicación y se mostrará directamente ese mensaje privado. Esta es una gran ventaja sobre el uso de Notificaciones Pushover de Discourse, donde las notificaciones push abren la aplicación Pushover y no está claro cómo llegar al mensaje. Por otro lado, las Notificaciones Pushover son buenas si deseas notificaciones push sin una aplicación.

Universal: utiliza Google Firebase como capa de mensajes, por lo que todos los dispositivos iOS y Android pueden recibir estas notificaciones push, siempre que el país no haya prohibido Google.

Configuración

  1. Instala y activa el plugin.
  2. Crea un proyecto gratuito de Google Firebase para tu aplicación. Agrega el ID del proyecto de Firebase, el token y el archivo JSON (con datos de OAuth) a la configuración del plugin en Discourse.
  3. Ajusta el código de tu aplicación:
  • Suscribe al usuario activo a las notificaciones push enviando el token del dispositivo a TU_FORO.com/fcm_notifications/automatic_subscribe?token=… . Asegúrate de llamar a esto cada vez que cambie el token del dispositivo.

  • Desuscribe al usuario activo llamando a TU_FORO.com/fcm_notifications/automatic_subscribe?token=REMOVE

  • Las notificaciones push tendrán el formato:

    'data': {
      "linked_obj_type" => 'link',
      "linked_obj_data" => <url to the post/message referenced in the message>,
    },
    'notification': {
      title: <something like "USERNAME sent you a private message in TOPIC">,
      body: <beginning of the message>,
    }
    

Por lo tanto, debes mostrar la notificación push con título/cuerpo y al tocarla debería abrir la URL de linked_obj_data en un navegador dentro de la aplicación. Esto es lo que debes definir en el código de la aplicación.

Ejemplo de implementación

Puedes obtener el código de una aplicación minimalista pero completamente funcional que funciona con este plugin aquí. (Es la versión whitelabel de una aplicación de producción que creamos y que necesitaba este plugin). Si solo deseas una aplicación que muestre tu foro, envíe notificaciones push y recuerde el inicio de sesión de las personas / el último tema leído, solo necesitas cambiar la marca y enviarla a las tiendas de aplicaciones y listo. De lo contrario, podría ser una base.

Los ingresos de esta aplicación financiarán el mantenimiento y el desarrollo futuro del plugin.

4 Me gusta

¿Funciona la notificación push con la aplicación Discourse Hub?

La aplicación Discourse Hub ya incluye notificaciones push.

¿Incluso para sitios autoalojados?

1 me gusta

Hmm… no estoy 100% seguro, pero no creo. En ese caso, este plugin será bastante útil.

Ahora mismo no; la aplicación que tengas requerirá modificaciones en el código.

No creo que sea posible usar este plugin con ninguna aplicación que no sea tuya, porque las notificaciones push dependen de compartir la autenticación de Google (u otra autenticación si no se usa Google Firebase) entre el foro y la aplicación. Esto es para que Google sepa quién es responsable de enviar notificaciones potencialmente maliciosas o de spam y pueda cerrar su cuenta. Además, la autenticación de Google puede usarse potencialmente para hacer otras cosas con la cuenta de Google de la persona, dependiendo de cómo esté configurada. Por lo tanto, no creo que los creadores de la aplicación Discourse Hub (o cualquier creador de aplicaciones) quieran compartir su autenticación de Google con todos los que tengan un foro Discourse autoinstalado, y por supuesto, no pueden añadir la autenticación de Google de todos al código de la aplicación (ni pedir a los usuarios finales que lo hagan después de descargarla). Para las notificaciones push de Google Firebase, el foro y la aplicación deben ser propiedad de la misma organización, no veo una solución.

¿Hay alguna aplicación en vivo que podamos probar?

Ver arriba: no puedes instalar este complemento en tu foro y conectarlo a ninguna aplicación existente porque eso significaría que el propietario de la aplicación tendría que compartir su autenticación de Google contigo.

Si quieres ver una implementación de ejemplo, echa un vistazo a https://youtube.com/shorts/iGmTBmhpD4A?feature=share (la aplicación que se muestra es este código sin ninguna modificación). Pero tu aplicación podría verse completamente diferente: el complemento solo permite que tu foro envíe notificaciones push a tu aplicación, cómo se muestran depende de ti.