apps.sendGamePush

Этот метод доступен для вызова только приложениям из белого списка. Если вам необходим доступ к этому методу, обратитесь с заявкой на получение доступа в службу поддержки по адресу api-support@ok.ru

Метод позволяет отправлять пуш на мобильное устройство от лица игры пользователю

НазваниеОбязательныйТипОписание
uid Нет String

id получателя пуша

message Да String

Сообщение в пуше. Не более 128 символов

query Нет String

query-часть URL’а, по которому производится переход из пуша. Не более 128 символов

hash Нет String

hash-часть URL’а, по которому производится переход из пуша. Не более 128 символов

Авторизация

Сессия запрещена

Необходимые права

  • VALUABLE_ACCESS

Ограничения

При вызове метода производится ряд проверок на допустимость отправки пуша пользователю:

  • производится валидация пользователя и его настроек оповещений/пушей от игры;
  • производится валидация текста пуша;
  • производится проверка достижения лимита на отправку пушей.

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

Содержимое пуша

При успешном вызове данного метода на устройство, на котором пользователь авторизован в приложении Одноклассников, приходит мобильный пуш с указанным при вызове метода текстом, по нажатию на который пользователь переходит в игру.

Ссылка на игру в пуше имеет следующий формат:

https://m.ok.ru/app/appId?query&refplace=206#hash

где:

  • query - указанное в неизменном формате значение параметра query из запроса на отправку пуша, это значение будет передано вам в src фрейма игры в query-параметре custom_args;
  • hash - указанное в неизменном формате значение параметра hash из запроса на отправку пуша, это значение будет передано вам в src фрейма игры в hash-части URL;
  • refplace=206 - уникальный источник запуска, соответствующий запуску из пуша, также будет передан вам в src фрейма игры в виде параметра refplace=game_notification_push.

Проверка возможности отправки пуша

Для того, чтобы пуш был успешно отправлен пользователю, для пользователя должны быть выполнены следующие условия:

  • пользователь установил игру, она всё еще находится у него в списке установленных:
    • если условие не соблюдено, то метод вернет ошибку PERMISSION_DENIED : Access to user data denied. User haven’t authorized the application;
  • пользователь заходил в игру не позже, чем 2 недели назад:
    • если условие не соблюдено, то метод вернет ошибку NOT_ACTIVE : active.user.required;
    • срок последнего захода может быть скорректирован для вашей игры при модерации по вашему запросу;
  • у пользователя включены пуши/оповещения от вашей игры:
    • если условие не соблюдено, то метод вернет ошибку PERMISSION_DENIED : User must grant an access to permission EVENTS.

Валидация текста пуша

Вторая категория проверок до отправки пуша - соблюдение формата сообщения в пуше. Текст пуша проверяется на соответствие маске, которая была одобрена для вашего приложения при прохождении модерации.

Если пуш не соответствует ожидаемому формату, то метод вернет ошибку:

PARAM : Invalid message text

Лимиты

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

Этот лимит может быть скорректирован при прохождении вами модерации.

Если при отправке пуша лимит был достигнут, то метод вернет ошибку:

LIMIT_REACHED : Maximum number of notifications is reached for requested user

Тестирование

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

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

Тип

{ "success": "boolean" }

Параметры приложения

Данные о сессии пользователя

Метод

Список параметров

Используем для подписи secret_key = session_secret_key
Используем для подписи secret_key = application_secret_key
Используем для подписи secret_key = MD5(access_token + application_secret_key)
secret_key =
Сортируем и склеиваем параметры запроса и secret_key
Рассчитываем MD5 от полученной строки и получаем параметр sig