Perfecty Push Notifications

Описание

Пуш-уведомления, которые рассылаются собственными силами, вам не нужны API-ключи для интеграции с внешними поставщиками пуш-уведомлений, которые будут взимать плату после превышения определённого лимита. Плагин работает на открытом исходном коде и вся обрабатываемая информация хранится в WordPress, так что вы можете бесплатно отправлять пуш-уведомления прямо со своего сервера!

В спешке ищете альтернативные сервисы рассылки пуш-уведомлений после того как превысили лимит бесплатного тарифа текущего провайдера? Теряете пользователей каждый раз, когда меняете поставщика пуш-уведомлений? Беспокоитесь о том, где хранится информация о ваших пуш-уведомлениях?
С этим плагином вы можете не беспокоиться об этом.

Легко переносите пользователей из других сервисов, отправляйте произвольные пуш-уведомления вручную или в автоматическом режиме при публикации записи и просматривайте статистику в консоли.

Возможности плагина:

  • Автономия: полный контроль над собственной информацией и отсутствие необходимости в интеграции со сторонними сервисами.
  • Перенос базы подписчиков из сервисов пуш-уведомлений, таких как OneSignal.
  • Совместимо PWA (протестировано с Super PWA) и подключаемыми модулями AMP (переходный режим).
  • Отправление пуш-уведомления о публикации записей. Также поддерживаются произвольные записи. Можно использовать изображение записи или настроить заголовок.
  • Отправка произвольных пуш-уведомлений: вы можете легко изменить значок, изображение или URL для открытия.
  • Формирование статистики в консоли.
  • Настраиваемый публичный виджет.
  • Хранение токенов авторизации пользователей на вашем сервере, после их согласия на получение ваших пуш-уведомлений.
  • Соответствие нормам GDPR: вся информация о пуш-уведомлениях обрабатывается и хранится на вашем сервере.
  • Открытый исходный код: никаких скрытых комиссий и полная прозрачность кода.
  • Автономный просмотр пуш-уведомления через Push API. iOS/Safari пока не поддерживаются.

Требования:
расширение gmp для шифрования сообщений (необязательно).

Документация

https://docs.perfecty.org/

Код

Желаете проверить код плагина? https://github.com/perfectyorg/perfecty-push-wp

Данный плагин использует библиотеку Chart.js для статистики администратора.

Установка Perfecty Push

  1. Скачайте плагин.

  2. Установите и активируйте его.

  3. Перейдите в раздел Perfecty Push Notifications > Консоль, начните отправлять пуш-уведомления.

Примечание: читайте Часто задаваемые вопросы ниже, если у вас на сервере отсутствует расширение gmp.

Скриншоты

  • Консоль и статистика пуш-уведомлений
  • Отправить новое пуш-уведомление
  • Публичный виджет (приглашение на подписку)
  • Публичный виджет (отказ от подписки)
  • Отправление пуш-уведомления при публикации поста
  • Список уведомлений
  • Список подписчиков
  • Настройки

Часто задаваемые вопросы

Я использую стороннего поставщика пуш-уведомлений, могу ли я перенести подписчиков на свой сервер?

Безусловно, Perfecty Push может заменить предыдущий сервис-воркер в в браузерах ваших подписчиков. Как только они посетят ваш сайт, воркер автоматически заменится, и вы сможете отправлять пуш-уведомления напрямую. Для этого вам нужно сначала удалить JS SDK вашего провайдера, а затем активировать опцию Удалить чужие воркеры в Perfecty Push. Перейдите в раздел Perfecty Push > Настройки > Публичный виджет.

После версии 1.0.7 Perfecty Push использует область /perfecty/push (вы также можете настроить ее), поэтому он совместим с любым плагином PWA / AMP, который использует корневую область (например, плагин Super PWA). Однако, если вы используете параметр Удалить чужие воркеры, он отключит любой существующий воркер, поэтому будьте осторожны с этим параметром.

Зачем мне нужно расширение gmp?

Отправка пуш-уведомлений включает шифрование, и gmp (GNU Multiple Precision) обеспечивает наилучшую производительность таких операций.

Расширение gmp не является обязательным в PHP ≥ 7.3. В PHP 7.2 вы не можете генерировать VAPID-ключи без него, однако вы все равно можете делать это с помощью openssl. В любом случае, рекомендуется использовать gmp для повышения производительности.

Как установить расширение gmp?

Это зависит от операционной системы, но теоретически вы устанавливаете его как обычное расширение PHP. Дополнительные сведения здесь: Установка расширения gmp.

Это работает на загруженных сайтах?

Этот плагин был развернут на реальном сайте с более чем 800 000 посещений в месяц и около 8 000 подписчиков на пуш-уведомления (~240 000 уведомлений в месяц), однако мы рекомендуем вам тщательно протестировать его перед использованием в реальных условиях.

Как сообщить об ошибке в плагине?

Вы можете опубликовать проблему в нашем репозитории Github:
https://github.com/perfectyorg/perfecty-push-wp/issues

Отзывы

28.04.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.04.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.
04.04.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)
Посмотреть 31 отзыв

Участники и разработчики

«Perfecty Push Notifications» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:

Участники

«Perfecty Push Notifications» переведён на 5 языков. Благодарим переводчиков за их работу.

Перевести «Perfecty Push Notifications» на ваш язык.

Заинтересованы в разработке?

Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.

Журнал изменений

1.6.1

  • Отправка уведомления: выбор изображения из галереи. #150

1.6.0

  • Предоставляются стандартные стили подсказки. При необходимости переопределите соответствующие классы CSS в своей теме. #135
  • Добавлена ​​поддержка WP 5.9 и бета-поддержка PHP 8. #136
  • Добавлены две новые настройки: уровень журнала и драйвер журнала. #137
  • Автоматическая очистка журналов для драйвера базы данных. Удаляет записи старше 10 дней порциями по 1000 строк. #94
  • Улучшена многоязычная поддержка, использование значений по умолчанию в качестве заполнителей в текстах виджетов. 143
  • Обновлена ​​библиотека web-push до версии 6.0.7.

1.5.1

  • Удалена ненужная автозагрузка. #111

1.5.0

  • Рассылка автоматических уведомлений для произвольных типов записей (общедоступных). #103
  • Использование внешних библиотек композера только при необходимости, во избежание потенциальных конфликтов. #111
  • Исправление проблемы совместимости с плагином Otter Blocks. #125
  • Использование часового пояса сайта в списках уведомлений и пользователей. #127

1.4.2

  • Установка уровня журнала по умолчанию на ERROR. #117
  • Перенос предупреждения о проверке заданий cron в логгер. #110

1.4.1

  • Улучшения в разделе управления заданиями и статистике заданий. #104 и #102

1.4.0

  • Улучшение производительности, отправка ~10 000 уведомлений в минуту на сервере с 2 GB RAM/1vCPU. #81 и #86
  • Был добавлен параметр размера параллельной отправки со стандартным значением в 50 уведомлений.
  • Произвольное приветственное сообщение, которое можно включить/отключить.
    Спасибо @mociofiletto. #91
  • Добавлен суффикс perfecty-push к опции server_url.

1.3.3

  • Механизм разблокировки зависших заданий уведомления. Исправления #86
  • Отправка записей в журнал error_log() по умолчанию, даже когда опция ведения журнала не включена. Исправления #85
  • Протестировано до WordPress 5.8

1.3.2

  • Добавлены ссылки плагина, отображаемые в установщике плагина WordPress.
  • Максимальная ширина значка в сведениях об уведомлении.

1.3.1

  • Использование уже определённого значка сайта до версии 1.3.0.

1.3.0

  • Опция регулярной отправки пуш-уведомления при публикации записи. Спасибо @mociofiletto. Исправления #64
  • Суффикс Google Analytics UTM для открываемого URL. Исправления #49
  • Отправление уведомления после подписки. Исправления #63
  • Удаление конфликтующих сервисных воркеров для известных поставщиков и произвольное выражение. Исправления #76
  • Возможность включить фиксированные уведомления, которые не исчезают автоматически. Исправления #66
  • Отображение предложения подписаться после нескольких посещений. По умолчанию: немедленно. Исправления #70
  • Добавлены ловушки и фильтры для внешних интеграций: ловушки perfecty_push_broadcast_scheduled($payload), perfecty_push_wp_user_notified($payload, $wp_user_id) и фильтр perfecty_push_custom_payload($payload).
  • Значок по умолчанию из библиотеки мультимедиа. Исправления #68
  • Отображение значка в строке уведомлений. Исправления #71
  • Отображение в настройках стандартных текстов диалогов. Исправления #69.
  • Отправка установленного изображения при публикации записи. Исправления #65

1.2.2

  • Указан правильный хеш исправления JS SDK.

1.2.1

  • Исправлен конфликт таймпикера и ChartJS. Исправления #62
  • Jquery .on() вместо .load(). Исправления #67

1.2.0

  • Теперь возможны уведомления по расписанию. Спасибо @mociofiletto. Исправления #29
  • Поддержка интеграции с другими плагинами. Исправления #5
  • Подписчик на пуш-уведомления связан с идентификатором пользователя WordPress, если он авторизован на сайте.
  • Журнал пуш-сервера (запуск драйвера БД). Исправления #30 и #31
  • Удаление пользователей, которые отказались от рассылки. Исправления #37
  • Добавление cron-монитора для проверки выполнения заданий уведомлений. Спасибо @mociofiletto. Исправления #33
  • Возможность не показывать колокольчик/виджет при запросе разрешения. Решает #48

1.1.6

  • Увеличен размер содержимого сообщений до 2000 символов для поддержки арабских символов. Проблема #46

1.1.5

  • Обновление url-parse, чтобы исключить CVE-2021-27515
  • Исправления оформления в элементах управления колокольчика

1.1.4

  • Изменение CSS кнопки с колокольчиком.
  • Перемещение значка в тег svg в HTML, как предложил @stkuhn.
  • Открытие диалогового окна подписки по нажатию на колокольчик, если пользователь не подписан.
  • Исправление ​​ошибки при обнаружении воркера Perfecty Push Service. Проблема #42

1.1.3

  • По умолчанию сбор IP-адресов отключен. Его можно включить с помощью параметра «Сбор данных пользователей» в настройках сегментации.
  • Добавлена ​​опция скрытия кнопки с колокольчиком после того, как пользователь подписался.

1.1.2

  • Удаление зависимости от jQuery из публичной части.
  • Обнаружение дубликатов ключей авторизации и приватности эндпойнта при подписке.

1.1.1

  • Интегрируйте Perfecty Push JS SDK: он обратно совместим, но обновляйте его до этой версии с осторожностью.
  • Обновите PHP Push Server Lib до последней версии.
  • Улучшения производительности
  • Режим отладки
  • Server_url теперь по умолчанию get_rest_url(), поэтому значение предпочтения сбрасывается на пустое значение, чтобы его можно было использовать.
  • Устранение различных проблем

1.0.8

  • Добавление параметров отправки установленного изображения записи и настройки заголовка в уведомлениях, отправляемых при публикации записи. Спасибо @mociofiletto
  • Удаление определений переменных wp-i18n в JS из глобальной области. Спасибо @mociofiletto

1.0.7

  • Нормально работает с PWA и AMP (протестировано с плагинами Super PWA и AMP для WP)
  • Поддержка MySQL < 5.6 (максимальный индексный ключ = 767)
  • Улучшение интернационализации
  • Совместим с Apache mod_security, стандартным Nginx и WAF

1.0.6

  • Добавлена ​​поддержка WordPress 5.7

1.0.5

  • Реализация интернационализации. Спасибо @mociofiletto
  • Поддержка старых версий WordPress

1.0

  • Первая версия плагина с базовым функционалом