Разовые уведомления
Мини-приложение может отправлять разовые уведомления пользователю при возникновении какого-либо события, например акции, конкурса среди игроков, выдачи бонусов или достижения цели. Такие уведомления ещё называют ситуативными.
Для отправки разовых уведомлений используется API ВКонтакте.
Ограничения
- •Пользователю можно отправить 1 уведомление в час и не более 3 уведомлений в день.
- •Одному пользователю нельзя отправить подряд 2 уведомления с одинаковым текстом.
- •Отправлять уведомления может мини-приложение, которое прошло модерацию. При этом размещение в каталоге необязательно.
- •Пользователь может получать уведомления только после выдачи разрешения.
Разрешение уведомлений
Отправлять уведомления пользователям из мини-приложения можно только после получения разрешения от пользователя.
Запрос разрешения
Чтобы запросить разрешение пользователя на отправку уведомлений от мини-приложения, вызовите событие VKWebAppAllowNotifications.
Информация о статусе подключения уведомлений также передаётся при запуске приложения в параметре запуска vk_are_notifications_enabled. Используйте этот параметр, чтобы определить, нужно ли запрашивать разрешение у пользователя.
У пользователя должны быть включены уведомления от игр и приложений в настройках ВКонтакте. В противном случае пользователь не получит уведомления, даже если выдал разрешение в вашем приложении.
Проверка разрешения
Пользователь может управлять уведомлениями из настроек ВКонтакте, поэтому важно проверять возможность отправки, даже если он не отключал или не включал уведомления напрямую из вашего мини-приложения. Для этого используйте метод apps.isNotificationsAllowed с сервисным ключом доступа мини-приложения.
Важно! Метод с сервисным ключом доступа можно вызывать только на сервере.
Пример вызова метода apps.isNotificationsAllowed с помощью POST-запроса.
curl -X POST 'https://api.vk.ru/method/apps.isNotificationsAllowed' \
-H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \
-F 'user_id=<ИДЕНТИФИКАТОР_ПОЛЬЗОВАТЕЛЯ>' \
-F 'apps_id=<ИДЕНТИФИКАТОР_МИНИ_ПРИЛОЖЕНИЯ>' \
-F 'v=<ВЕРСИЯ_API>'Как отправить уведомление
Используйте метод notifications.sendMessage с сервисным ключом доступа мини-приложения.
Если в вашем мини-приложении реализована навигация по хешу, вы можете перенаправлять пользователя прямо из уведомления при помощи параметра fragment. Он вернётся вместе с параметрами запуска после символа #.
Важно! Метод с сервисным ключом доступа можно вызывать только на сервере.
Пример вызова метода notifications.sendMessage с помощью POST-запроса.
curl -X POST 'https://api.vk.ru/method/notifications.sendMessage' \
-H 'Authorization: Bearer <КЛЮЧ_ДОСТУПА>' \
-F 'user_ids=<ИДЕНТИФИКАТОРЫ_ПОЛЬЗОВАТЕЛЕЙ>' \
-F 'message=<ТЕКСТ_УВЕДОМЛЕНИЯ>' \
-F 'fragment=<СОДЕРЖИМОЕ_ХЕША>' \
-F 'v=<ВЕРСИЯ_API>'Отключение уведомлений
Чтобы отключить отправку уведомлений от мини-приложения пользователю, вызовите событие VKWebAppDenyNotifications.
Материалы по теме
- •
- •
- •
- •
- •