iPush — Push-уведомления для InstantCMS
Держите аудиторию рядом. Компонент добавляет браузерные push-уведомления без мобильных приложений и SMS-рассылок. Пользователь закроет вкладку — и узнает о новом материале или сообщении через всплывающее уведомление.
О компоненте
Держите аудиторию рядом
Представьте: пользователь закрыл вкладку с вашим сайтом, ушёл по делам — и именно в этот момент у вас вышел новый материал или кто-то написал ему личное сообщение. Без 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: из любого места кода можно отправить уведомление буквально в три строки.
Возможности
Полный набор функций для работы с push-уведомлениями
Поддерживаемые браузеры
Компонент работает во всех современных браузерах
| Браузер | Windows | Linux | macOS | Android | iOS |
|---|---|---|---|---|---|
| Chrome | ✅ | ✅ | ✅ | ✅ | — |
| Firefox | ✅ | ✅ | ✅ | ✅ | — |
| Edge | ✅ | — | ✅ | ✅ | — |
| Opera | ✅ | ✅ | ✅ | ✅ | — |
| Yandex | ✅ | ✅ | ✅ | ✅ | — |
| Safari | — | — | ✅ | — | ❌ |
| Samsung Internet | — | — | — | ⚠️ | — |
Apple не реализовала Web Push API. Для iOS требуется интеграция с APNs (Apple Push Notification service).
Особенности реализации
Технические детали компонента
Service Worker
Кроссплатформенная обработка push-событий через Service Worker.
Определение браузеров
Корректное определение: Chrome, Firefox, Edge, Opera, Yandex, Safari.
Автоматическая реподписка
Обработка pushsubscriptionchange для автоматической реподписки.
Actions (кнопки) в уведомлениях
Поддержка кнопок действий для Chrome/Edge/Opera/Firefox.
Умная навигация
Фокус существующей вкладки или открытие новой при клике на уведомление.
Автоматические события
12 событий профиля пользователя
Компонент поддерживает 12 событий профиля пользователя:
| # | Событие | Системный хук | Статус |
|---|---|---|---|
| 1 | Новые комментарии | comment_after_add |
✅ |
| 2 | Ответы на комментарии | comment_after_add |
✅ |
| 3 | Приглашения в группы | groups_after_accept_request |
✅ |
| 4 | Новые сообщения | messages_after_send |
✅ |
| 5 | Запросы дружбы | users_add_friendship |
✅ |
| 6 | Одобренные запросы дружбы | users_add_friendship |
✅ |
| 7 | Прекращение дружбы | users_after_delete_friendship |
✅ |
| 8 | Записи на стене | wall_after_add |
✅ |
| 9 | Новые записи в подписках | notify_subscribers |
✅ |
| 10 | Оценки записей | rating_vote |
✅ |
| 11 | Скоро окончание публикации | notify_expired_content_items |
✅ |
| 12 | Публикация контента | content_after_add_approve |
✅ |
PHP API
Отправка уведомлений из кода
Компонент предоставляет простой PHP API для отправки уведомлений из любого места кода:
$push = cmsCore::getModel('push');
$push->sendToUser($user_id, [
'title' => 'Новый ответ в теме',
'body' => 'Кто-то ответил на ваш комментарий',
'url' => '/forum/topic/42',
]);
$push = cmsCore::getModel('push');
$push->sendToAll([
'title' => 'Новое уведомление',
'body' => 'Проверьте новые материалы на сайте',
'url' => '/',
]);
строки кода для отправки
метода: пользователю и всем
Купить компонент
Мгновенная загрузка после оплаты