iPush - push-уведомления, держите аудиторию рядом

+12
415
iPush - push-уведомления, держите аудиторию рядом

Push-уведомления для InstantCMS — держите аудиторию рядом

Представьте: пользователь закрыл вкладку с вашим сайтом, ушёл по делам — и именно в этот момент у вас вышел новый материал или кто-то написал ему личное сообщение. Без push-уведомлений он об этом не узнает. С ними — увидит всплывающее сообщение прямо на экране, кликнет и вернётся.

Компонент Push добавляет именно такую возможность в InstantCMS: браузерные push-уведомления без мобильных приложений и без SMS-рассылок.


Что умеет компонент

Подписка пользователей

Через несколько секунд после захода на сайт браузер покажет пользователю стандартный системный диалог с предложением подписаться. Никаких сторонних попапов — только нативный интерфейс браузера, которому люди доверяют. Один клик — и подписка оформлена.

Подписаться могут как зарегистрированные пользователи, так и гости — если разрешить это в настройках.

Ручная отправка из админки

В разделе Компоненты → Push → Отправить администратор может написать уведомление и отправить его:

  • всем подписчикам сразу,
  • конкретному пользователю по ID.

Для каждого уведомления задаётся заголовок, текст, ссылка для перехода при клике и иконка. После отправки отображается статистика: сколько доставлено, сколько не дошло.

Автоматическая отправка по событиям

Это одна из главных особенностей компонента — он встроен в жизнь сайта через систему хуков InstantCMS. Уведомления уходят сами в трёх ситуациях:

При публикации контента. Как только материал проходит модерацию и появляется на сайте, все подписчики получают уведомление с заголовком публикации и ссылкой. Можно ограничить автоотправку только для определённых типов контента — например, только для новостей или только для статей.

При новом комментарии. Автор материала получает уведомление, когда кто-то оставил комментарий под его публикацией. Удобно — можно оперативно ответить, не обновляя страницу вручную.

При личном сообщении. Получатель узнаёт о новом сообщении сразу — даже если в этот момент не находится на сайте.

Управление подписчиками

В разделе Подписчики администратор видит всех, кто оформил подписку: привязан ли подписчик к конкретному аккаунту, когда подписался. Доступны фильтрация, удаление отдельных записей, массовое удаление и очистка устаревших подписок (старше 30, 60 или 90 дней). Список подписчиков можно экспортировать в CSV.

Логи отправки

Каждая отправка фиксируется: заголовок, текст, статус (успех или ошибка), описание ошибки, дата. В разделе Логи можно отфильтровать записи по статусу, дате или пользователю и посмотреть сводку за последние 7 дней — сколько уведомлений ушло, сколько дошло, сколько нет.

Настройки и безопасность

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

Встроенный rate limiting защищает от злоупотреблений: можно ограничить количество подписок и количество отправок за заданный период.

Настройки интегрированы с системой уведомлении на сайте 

Изображение


Почему это удобно

Не нужен сторонний сервис. Никаких ежемесячных платежей, никакой зависимости от внешних платформ — данные подписчиков хранятся только у вас.

Работает в любом современном браузере. Chrome, Firefox, Edge, Opera, Safari на macOS 13+ — компонент покрывает подавляющее большинство аудитории.

Простая установка. Загрузить компонент, сгенерировать VAPID-ключи — и всё готово к работе.

Гибкость для разработчиков. Компонент предоставляет PHP API: из любого места кода можно отправить уведомление конкретному пользователю или всем подписчикам буквально в три строки:

  1. $push = cmsCore::getModel('push');
  2. $push->sendToUser($user_id, [
  3. 'title' => 'Новый ответ в теме',
  4. 'body' => 'Кто-то ответил на ваш комментарий',
  5. 'url' => '/forum/topic/42',
  6. ]);
  7.  

Тонкая настройка автоматики. Автоотправку при публикации можно включить только для нужных типов контента, каждый вид событий включается отдельно.


Что планируется в следующих версиях

Версия 1.1 (Q2 2026)

  • Очереди отправки. Массовая рассылка будет выполняться в фоне через систему очередей InstantCMS.
  • Предпросмотр в админке. Возможность увидеть, как уведомление выглядит в браузере.
  • Оптимизация массовых рассылок. Батчинг — отправка частями с паузами.
  • CSRF-защита API и rate limiting на эндпоинте подписки.

Версия 1.2 (Q3 2026)

  • Шаблоны уведомлений. Готовые заготовки с переменными.
  • Аналитика кликабельности. Отслеживание переходов по уведомлениям.
  • Графики и экспорт статистики. Аналитика в админке и выгрузка CSV/Excel.

Версия 2.0 (Q4 2026)

  • A/B тестирование. Проверка разных вариантов заголовков и текста.
  • Виджет «Подписаться». Готовый блок для страниц сайта.
  • Кастомные поля в payload. Расширенные данные для Service Worker.

Итого

Push-компонент для InstantCMS — это готовый инструмент для удержания аудитории без зависимости от сторонних платформ. Он работает из коробки, встраивается в логику сайта через хуки и даёт администратору полный контроль над подписчиками и рассылками. А запланированные улучшения сделают его ещё мощнее и удобнее.

Версия компонента: 1.0.0 | Требования: PHP 8.2+, InstantCMS 2.16+, HTTPS

P>S. Чтобы не было потом вопросов после покупки так как это не приложение а работает через браузеры есть ограничение которые я обязан сообщить сразу до покупки и снять негатив который 100% возникнет — типа ничего не работает а я мошейник :) На андроиде — гарантировано работает на Хроме — так как он не закрыт в режим энерго сбережения и работает фоново 100% другие браузеры на разных телефонах имеют определенные ограничения и могут не работать фоново и нужно описывать как включить для тех кто хочет получать уведомления. На iPhone еще все печальнее гарантировано работает только также в сафари и только с iOS 13+ 

Изображение

Изображение

Изображение

Изображение

Изображение

0
disc disc 1 месяц назад #

Давно такой возможности не хватало. Было бы здорово внедрить совместно с инструментом подписок, который идет в коробке. Дать возможность уведомлять по настройкам из профиля пользователя в разделе оповещений. Успешной реализации замечательного инструмента.

+2
maxisoft maxisoft 1 месяц назад #

это и сделано забыл описать :)

0
disc disc 1 месяц назад #

Это мощно. Радует, что есть прогрессивные разработчики. Кстати может пользуясь случае WPA заодно сделать?

0
maxisoft maxisoft 1 месяц назад #

Можно сделать и pwa но приложение нужно делать исходя из дизайна сайта и его функционала а 100% универсальное не сделать это будет просто шляпа. Мы можем рассмотреть варианты и обсудить лично по созданию приложении для сайтов. Есть тема даже на форуме.

0
disc disc 1 месяц назад #

Цена какая будет?

0
maxisoft maxisoft 1 месяц назад #

писал на форуме первым 5 продам по 1к а так будет 2к цена оправдана так как есть куча планов по поддержке и развитию компонента.

0
Def Def 1 месяц назад #

Как всегда отличные идеи! 
Вопрос по ограничениям на использование после покупки. Как и где может покупатель использовать?

+4
maxisoft maxisoft 1 месяц назад #

Ну я не сторонник ограничивать и кодировать разработки, наверное лошара, поэтому продаю все с открытым кодом и без ограничении. 

+1
disc disc 1 месяц назад #

 Это вполне адекватный и разумный подход. Порядочные люди всегда оценят и отблагодарят. 

0
Def Def 1 месяц назад #

Да, согласен, чтобы не было путаницы, корректнее всего либо без ограничений для покупателя (главное, что нельзя продавать как отдельный компонент), либо 1 домен — 1 сайт и писать об этом не просто в блоге, а вкладывать соответствующую лицензию в архив и в текст при установке, чтобы всегда было видно.

0
F_a_R_i_D F_a_R_i_D 1 месяц назад #

Всё бомба работает. Цены нет этого дополнения!!!

Еще от автора

iPush - push-уведомления (обновление)
Обновление компонента
instantCMS MCP Server - обновление
Обновление функционала
Cookies UTM — модуль сохранения UTM-меток в cookies
Cookies UTM — это лёгкий модуль для сайта, который автоматически сохраняет UTM-метки из URL в cookies браузера пользователя.
🍪Мы используем файлы cookie для работы сайта. Читать подробнее.