Разовые уведомления

Мини-приложение может отправлять разовые уведомления пользователю при возникновении какого-либо события, например акции, конкурса среди игроков, выдачи бонусов или достижения цели. Такие уведомления ещё называют ситуативными.

Для отправки разовых уведомлений используется API ВКонтакте.

Ограничения

  • Пользователю можно отправить 1 уведомление в час и не более 3 уведомлений в день.
  • Одному пользователю нельзя отправить подряд 2 уведомления с одинаковым текстом.
  • Отправлять уведомления может мини-приложение, которое прошло модерацию. При этом размещение в каталоге необязательно.
  • Пользователь может получать уведомления только после выдачи разрешения.

Разрешение уведомлений

Отправлять уведомления пользователям из мини-приложения можно только после получения разрешения от пользователя.

Запрос разрешения

Чтобы запросить разрешение пользователя на отправку уведомлений от мини-приложения, вызовите событие VKWebAppAllowNotifications.

Информация о статусе подключения уведомлений также передаётся при запуске приложения в параметре запуска vk_are_notifications_enabled. Используйте этот параметр, чтобы определить, нужно ли запрашивать разрешение у пользователя.

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

Проверка разрешения

Пользователь может управлять уведомлениями из настроек ВКонтакте, поэтому важно проверять возможность отправки, даже если он не отключал или не включал уведомления напрямую из вашего мини-приложения. Для этого используйте метод apps.isNotificationsAllowed с сервисным ключом доступа мини-приложения.

Важно! Метод с сервисным ключом доступа можно вызывать только на сервере.

Пример вызова метода apps.isNotificationsAllowed с помощью POST-запроса.

POST https://api.vk.ru/method/apps.isNotificationsAllowed?user_id=ИДЕНТИФИКАТОР_ПОЛЬЗОВАТЕЛЯ&apps_id=ИДЕНТИФИКАТОР_МИНИ_ПРИЛОЖЕНИЯ&access_token=КЛЮЧ_ДОСТУПА&v=ВЕРСИЯ_API HTTP/1.1

Как отправить уведомление

Используйте метод notifications.sendMessage с сервисным ключом доступа мини-приложения.

Если в вашем мини-приложении реализована навигация по хешу, вы можете перенаправлять пользователя прямо из уведомления при помощи параметра fragment. Он вернётся вместе с параметрами запуска после символа #.

Важно! Метод с сервисным ключом доступа можно вызывать только на сервере.

Пример вызова метода notifications.sendMessage с помощью POST-запроса.

POST https://api.vk.ru/method/notifications.sendMessage?user_ids=ИДЕНТИФИКАТОРЫ_ПОЛЬЗОВАТЕЛЕЙ&message=ТЕКСТ_УВЕДОМЛЕНИЯ&fragment=СОДЕРЖИМОЕ_ХЕША&access_token=КЛЮЧ_ДОСТУПА&v=ВЕРСИЯ_API HTTP/1.1

Отключение уведомлений

Чтобы отключить отправку уведомлений от мини-приложения пользователю, вызовите событие VKWebAppDenyNotifications.

Материалы по теме