Perfecty Push Notifications

Descripción

Notificaciones push que son autoalojadas, no necesitas llaves de una API para integrarte con proveedores de notificaciones push que te cobrarán luego. Es de código abierto, y la información se guarda en WordPress, así que puedes enviar notificaciones push directamente desde tu servidor sin ningún costo!

¿Estás de afán buscando alternativas de notificaciones push ahora que has excedido la capa gratuita de tu actual proveedor? ¿Perdiendo usuarios cada vez que cambias de proveedor? ¿Preocupado por dónde es almacenada la información de las notificaciones push? Con este plugin no te preocupas por eso.

Fácilmente migra tus usuarios de otros proveedores, envía notificaciones push personalizadas, o automáticamente cuando se publica una entrada, y mira las estadísticas en tu Escritorio.

Características:

  • Auto-hospedadas: control total de tu información, y no hay necesidad de integraciones con terceros.
  • Migra usuarios de otros proveedores de Push Notifications como OneSignal.
  • PWA Friendly (Tested with Super PWA) and AMP plugins (Transitional mode).
  • Send Push Notifications on posts publishing. Also supports custom posts. You can use the feature image of the post or customize the title.
  • Envía notificaciones push personalizadas: puedes cambiar fácilmente el icono, la imagen y la URL a abrir.
  • Mira las estadísticas en tu Escritorio.
  • Widget público personalizable.
  • Los tokens de autorización de tus usuarios se quedan en tu servidor cuando ellos se suscriben para recibir tus notificaciones push.
  • Cumple fácilmente con el RGPD: toda la información de las notificaciones push es procesada y almacenada en tu servidor.
  • Código abierto: sin costos ocultos, y transparencia abierta.
  • Offline browser Push Notifications through Push API. iOS/Safari are not supported yet.

Requerimientos:
– La extensión gmp para la encriptación de mensajes (opcional)

Documentación

https://docs.perfecty.org/

Código

¿Quieres echar un vistazo al código? https://github.com/perfectyorg/perfecty-push-wp

Este plugin usa la librería Chart.js para las estadísticas del administrador.

Instalación de Perfecty Push

  1. Descarga el plugin

  2. Instálalo y actívalo

  3. Ve a la sección Perfecty Push Notifications > Escritorio y empieza a enviar notificaciones push

Nota: Revisa las FAQ si no tienes la extensión gmp.

Capturas

  • Escritorio y estadísticas de notificaciones push
  • Enviar una nueva notificación push
  • Widget público (cuadro de suscripción)
  • Widget público (darse de baja)
  • Envía notificaciones push al publicar entradas
  • Administración de notificaciones
  • Administración de usuarios
  • Ajustes

FAQ

Estoy usando un tercero como proveedor de notificaciones push, ¿puedo migrar mis usuarios a mi servidor?

Absolutamente, Perfecty Push puede sobreescribir el service worker previo del navegador de tus usuarios. Una vez que ellos visitan tu sitio, el service worker se reemplaza automáticamente y puedes empezar a enviar notificaciones push directamente. Para eso primero necesitas quitar el SDK de Javascript de tu proveedor, y luego habilitar la opción Remover workers conflictivos en Perfecty Push. Ve a Perfecty Push > Ajustes > Widget Público.

Luego de v1.0.7, Perfecty Push usa el Scope /perfecty/push (también lo puedes personalizar), así que es amigable con cualquier plugin de PWA/AMP que use el Root Scope (por ejemplo el plugin de Super PWA). Sin embargo, si usa la opción Remover los workers en conflicto, este eliminará cualquier worker existente, así que ten cuidado con esta opción.

¿Por qué necesito la extensión `gmp`?

Enviar notificaciones push involucra encriptación y gmp (GNU Multiple Precision) brinda el mejor rendimiento para dichas operaciones.

La extensión gmp es opcional en PHP >= 7.3. En PHP 7.2 no puedes generar las llaves VAPID, sin embargo puedes generarlas con openssl. En cualquier caso, se recomienda usar gmp para un mejor rendimiento.

¿Cómo instalo la extensión `gmp`?

Depende del sistema operativo, pero, en teoría, lo instalas como una extensión normal de PHP. Más información: Instalar la extensión GMP

¿Funciona en producción?

Este plugin ha sido desplegado en un sitio real con más de 800.000 visitas mensuales y cerca de 8.000 suscriptores de notificaciones push (~240.000 notificaciones/mes), sin embargo te recomendamos probarlo antes de desplegarlo en un ambiente de producción.

¿Cómo reporto un fallo?

Puedes registrar un problema en nuestro repositorio de GitHub:
https://github.com/perfectyorg/perfecty-push-wp/issues

Reseñas

17 de septiembre de 2022
Perfect and self hosted. Migrated from webpushr to this self hosted solution. But During my installation, I have found that the plugin was not recently updated and not made compatible with recent versions of WordPress.
28 de abril de 2022
It really works great. I send over 1 million notifications a day. But there is a problem. I don't use the dialog but it keeps loading a css called perfecty-push-public.css. Please disable this.
15 de abril de 2022
Very good plugin. Exactly meet my requirement, don't need to connect with third party API. Work like a charm. Highly reccommended for everyone.
4 de abril de 2022
Hi, 5 days ago I installed plugin when user reached 150 i send notification and it sent successfully. But, now my website user reached 2800 and sender notifications but, status shows running from more than 16 hours. So please help. Is there any setting i need to change ? In one or two month my user will cross 1,00,000+ so also help me for how to send notifications more than 1,00,000 + users ? (My current hosting plan : digital ocean 1gb ram, 1 vcpu, 25gb bandwidth)
Leer todas las 32 reseñas

Colaboradores y desarrolladores

«Perfecty Push Notifications» es un software de código abierto. Las siguientes personas han colaborado con este plugin.

Colaboradores

«Perfecty Push Notifications» ha sido traducido a 5 idiomas locales. Gracias a los traductores por sus contribuciones.

Traduce «Perfecty Push Notifications» a tu idioma.

¿Interesado en el desarrollo?

Revisa el código , echa un vistazo al repositorio SVN o suscríbete al registro de desarrollo por RSS.

Registro de cambios

1.6.1

  • Send Notification: Select image from gallery. Related #150

1.6.0

  • Important: Default styles for the prompt are provided. If necessary, please override the corresponding CSS classes in your theme. Fixes #135
  • Added support for WP 5.9 and beta support to PHP 8. Fixes #136
  • Two new Settings added: Log level and Log driver. Fixes #137
  • Logs auto-cleanup for the Database driver. Deletes the entries older than 10 days in chunks of 1000 rows. Fixes #94
  • Improve multilingual support, use default values as placeholders in the Widget texts. Fixes 143
  • Upgraded the web-push lib to 6.0.7

1.5.1

  • Remove unnecessary autoload, related to #111.

1.5.0

  • Send automatic notifications for Custom Post Types (public). Related #103
  • Use the external composer libraries only when necessary to avoid potential conflicts. Related #111
  • Fix compatibility issues with the Otter Blocks plugin. Related #125
  • Use WordPress defined timezone in Notifications and Users view. Related #127

1.4.2

  • Set the default log level to ERROR. Related #117
  • Move the cron job check warning to the logger. Related #110

1.4.1

  • Improvements to the job management section and the job stats. Related #104, #102

1.4.0

  • Performance improvement, send ~10.000 notifications/minute in a 2 GB RAM/1vCPU server. Related: #81 and #86
  • Parallel flushing size parameter was added with a default value of 50 notifications.
  • Custom welcome message that can be enabled/disabled. Thanks to @mociofiletto. Related #91
  • Added the ‘perfecty-push’ suffix to the server_url option.

1.3.3

  • Unleashing mechanism for stalled notification jobs. Fixes #86
  • Send logs to error_log() by default when logging is not even enabled. Fixes #85
  • Tested up to WordPress 5.8

1.3.2

  • Add the plugin links shown in the WordPress Plugin installer
  • Icon max width in the Notification details.

1.3.1

  • Use the already defined site icon before v1.3.0.

1.3.0

  • Option to always send a Push Notification on Post publishing. Thanks to @mociofiletto. Fixes #64
  • Google Analytics UTM suffix for Url to open. Fixes #49
  • Send notification after subscribing. Fixes #63
  • Remove conflicting Service Workers for known providers, and custom expression. Fixes #76
  • Option to enable fixed notifications that don’t fade out. Fixes #66
  • Display prompt after a number of visits. Default: Immediately. Fixes #70
  • Added hooks and filters for external integrations: perfecty_push_broadcast_scheduled($payload), perfecty_push_wp_user_notified($payload, $wp_user_id) hooks and the perfecty_push_custom_payload($payload) filter.
  • Default Icon from the Media Library #68
  • Show icon in the Notifications prompt. Fixes #71
  • Default dialog texts in Settings. Fixes #69.
  • Always send featured image on Post publishing. Fixes #65

1.2.2

  • Point to the correct JS SDK commit hash

1.2.1

  • Fixes conflict with TimePicker and ChartJS #62
  • Jquery .on() instead of .load() 67

1.2.0

  • Schedule notifications is now possible thanks to @mociofiletto. Fixes #29
  • Support external plugin integrations. Fixes #5
  • Push Subscribers are linked with their WordPress User Id if they’re logged in users
  • Push Server logs (DB Driver initially). Fixes #30 and #31
  • Remove the users that have opted-out. Fixes #37
  • Add a cron monitor to check the notification jobs execution. Thanks to @mociofiletto. Fixes #33
  • Option to don’t show the Bell/Widgets when asking permissions. Solves #48

1.1.6

  • Increased payload size to 2.000 characters to support arabic characters. Issue #46

1.1.5

  • Upgrade url-parse to avoid CVE-2021-27515
  • Styling fixes in the Bell control

1.1.4

  • CSS style changes to the bell.
  • Move icon to an svg tag in the HTML as suggested by @stkuhn.
  • Open subscription dialog if the bell is clicked and the user is not subscribed.
  • Fix bug in the Perfecty Push Service Worker detection. Issue #42

1.1.3

  • IP address collection is disabled by default. It can be enabled using the “Enable and collect data from users” option in the Segmentation settings.
  • Added option to hide the bell after the users have subscribed.

1.1.2

  • Quitar la dependencia de jQuery del área pública
  • Detectar las llaves duplicadas de autenticación/privadas cuando se suscriben

1.1.1

  • Integra el SDK de Javascript de Perfecty Push: Es compatible hacia atrás pero actualice a esta versión con cuidado.
  • Actualiza la librería de PHP de Push Server a la última version
  • Mejoras de rendimiento
  • Modo de depuración
  • El server_url ahora es por defecto get_rest_url(), así que el valor de preferencia se resetea a un valor vacío con el fin de usarlo
  • Soluciona varios problemas

1.0.8

  • Opciones para enviar la imagen característica y personalizar el título de la notificación en las notificaciones enviadas al publicar una entrada. Gracias a @mociofiletto
  • Se quita la definición de variables wp-i18n de Javascript del Global Scope. Gracias a @mociofiletto

1.0.7

  • Amigable con PWA y AMP (Probado con los plugins Super PWA y AMP for WP)
  • Soporta MySQL < 5.6 (max index key=767)
  • Mejoras de internacionalización
  • Amigable con Apache mod_security, con la configuración de Nginx por defecto y con WAF

1.0.6

  • Se agrega soporte de WordPress 5.7

1.0.5

  • Implementación de internacionalización. Gracias a @mociofiletto
  • Compatibilidad con versiones anteriores de WordPress

1.0

  • Primera versión del plugin con funcionalidades básicas