Описание
Пуш-уведомления, которые рассылаются собственными силами, вам не нужны API-ключи для интеграции с внешними поставщиками пуш-уведомлений, которые будут взимать плату после превышения определённого лимита. Плагин работает на открытом исходном коде и вся обрабатываемая информация хранится в WordPress, так что вы можете бесплатно отправлять пуш-уведомления прямо со своего сервера!
В спешке ищете альтернативные сервисы рассылки пуш-уведомлений после того как превысили лимит бесплатного тарифа текущего провайдера? Теряете пользователей каждый раз, когда меняете поставщика пуш-уведомлений? Беспокоитесь о том, где хранится информация о ваших пуш-уведомлениях?
С этим плагином вы можете не беспокоиться об этом.
Легко переносите пользователей из других сервисов, отправляйте произвольные пуш-уведомления вручную или в автоматическом режиме при публикации записи и просматривайте статистику в консоли.
Возможности плагина:
- Автономия: полный контроль над собственной информацией и отсутствие необходимости в интеграции со сторонними сервисами.
- Перенос базы подписчиков из сервисов пуш-уведомлений, таких как OneSignal.
- Совместимо PWA (протестировано с Super PWA) и подключаемыми модулями AMP (переходный режим).
- Отправление пуш-уведомления о публикации записей. Также поддерживаются произвольные записи. Можно использовать изображение записи или настроить заголовок.
- Отправка произвольных пуш-уведомлений: вы можете легко изменить значок, изображение или URL для открытия.
- Формирование статистики в консоли.
- Настраиваемый публичный виджет.
- Хранение токенов авторизации пользователей на вашем сервере, после их согласия на получение ваших пуш-уведомлений.
- Соответствие нормам GDPR: вся информация о пуш-уведомлениях обрабатывается и хранится на вашем сервере.
- Открытый исходный код: никаких скрытых комиссий и полная прозрачность кода.
- Автономный просмотр пуш-уведомления через Push API. iOS/Safari пока не поддерживаются.
Требования:
расширение gmp
для шифрования сообщений (необязательно).
Документация
Код
Желаете проверить код плагина? https://github.com/perfectyorg/perfecty-push-wp
Данный плагин использует библиотеку Chart.js для статистики администратора.
Установка Perfecty Push
-
Скачайте плагин.
-
Установите и активируйте его.
-
Перейдите в раздел 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
Отзывы
Участники и разработчики
«Perfecty Push Notifications» — проект с открытым исходным кодом. В развитие плагина внесли свой вклад следующие участники:
Участники«Perfecty Push Notifications» переведён на 5 языков. Благодарим переводчиков за их работу.
Перевести «Perfecty Push Notifications» на ваш язык.
Заинтересованы в разработке?
Посмотрите код, проверьте SVN репозиторий, или подпишитесь на журнал разработки по RSS.
Журнал изменений
1.6.3
- Tested up to WordPress 6.7 and PHP 7/8
1.6.2
- Протестировано вплоть до WordPress 6.0.
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
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
- Первая версия плагина с базовым функционалом