Перейти к содержанию

PUSH-нотификации🔗

Перед этим изучите разделы «Общая информация» и «Проверка подписи»

Подробную информацию о том, что такое PUSH-нотификации читайте в разделе «Уведомления»

Отправить пользователю Push сообщение на устройство

Параметры🔗

Параметр Метод Значение Обязательно Тип Описание
action GET push да строка Команда
deviceId GET, POST 7a094faa...6064730c4 нет строка ID устройств, разделенные через точку с запятой
userId GET, POST 87bdfdc4...e75fdf2e0 нет строка ID пользователей, разделенные через точку с запятой
title GET, POST Новости игры нет строка Заголовок сообщения
msg GET, POST Ваша грядка засохла нет строка Текст сообщения
param GET, POST 1 нет число 1 - Разослать по всем девайсам, привязанным к юзеру. 2 - Отправить последнему активному доступному девайсу. (Только в случае отправки UserID)
badge GET, POST 1 нет число Число на иконке приложения
stime GET, POST 1406110217 нет число Время отправки push-сообщения (по умолчанию сообщения отправляются при первой возможности)
sound GET, POST default нет строка Звук оповещения
json_params GET, POST {} нет строка Json-массив каких-то параметров, который можно передать на клиент
timezone GET, POST 0 нет число 0 - не учитывать временную зону пользователя, 1 - учитывать
debug GET, POST 0 нет число 0 - Production, 1 - develop
channelid GET, POST test_1 нет строка Id канала. Подробней про каналы смотрите Создание каналов и группы каналов
channelname GET, POST Test 1 нет строка Название канала. Подробней про каналы смотрите Создание каналов и группы каналов
channelgroupid GET, POST test_1 нет строка Id группы. Подробней про группы смотрите Создание каналов и группы каналов
channelgroupname GET, POST Test 1 нет строка Название группы. Подробней про группы смотрите Создание каналов и группы каналов

Коды ошибок🔗

Код Описание
-54 Непредусмотренная ошибка. Обратитесь к техническим специалистам.
-55 Не задан ID пользователя/устройства.
-56 К пользователю не привязаны устройства.
-57 Токены для выбранного пользователя/устройства не найдены

Пример запроса🔗

https://mrgs.astrum.team/pub/s2s.php?action=push&appId=67&deviceId=176491cae972fe898f9f1744f397c434&format=json&msg=%D0%A1%D0%B6%D0%B5%D1%87%D1%8C+%D0%BF%D0%BE%D1%81%D0%BB%D0%B5+%D0%BF%D1%80%D0%BE%D1%87%D1%82%D0%B5%D0%BD%D0%B8%D1%8F%21%0D%0ATest+push

Пример ответа🔗

{
    "status":0,
    "error":"",
    "result":[]
}

Кастомные пуш-уведомления (Андроид)🔗

Для кастомизации уведомлений достаточно передать следующие параметры в json_params

{
  "icon": "notification_icon_small",
  "largeIcon": "notification_icon_large",
  "custom_notification": {
    "layout": "layout_notification_halloween",
    "images": {
      "image_view1": "castle",
      "image_view2": "background"
    },
    "texts": {
      "notification_text1": "Sorry",
      "notification_text2": "But your princess is in another castle!"
    }
  }
}

"icon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления маленькой иконки пуш-уведомления.
"largeIcon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления большой иконки пуш-уведомления.

"custom_notification" - структура с описанием кастомного пуш-уведомления, если вы хотите показать пуш уведомление со специфичной версткой.
"layout" - название файла (без расширения) в layout ресурсах, который будет использовать для показа кастомного пуш-уведомления.
"images" - структура с описанием всех view:android:id(ключи) и названия drawable файлов(значения). Пример из сниппета выше, где image_view1 - это view id <ImageView android:id="@+id/image_view1" .../> которая размещена в layout layout_notification_halloween.xml, где castle это название файла в drawable ресурсах, которую нужно отобразить в <ImageView .../>.
"texts" - структура с описанием всех view:android:id(ключи) и текстом(значения). Пример из сниппета выше, где notification_text1 - это view id <TextView android:id="@+id/notification_text1" .../> которая размещена в layout layout_notification_halloween.xml.

Развернутое и свернутое отображение кастомных пуш-уведомлений🔗

Для стилизации кастомных уведомлений достаточно передать следующие параметры в json_params

  • Для того, чтобы вставить большую картинку в развернутое уведомление:
{
    "style": 2,
    "icon": "push_icon",
    "largeIcon": "push_icon_large",
    "expandable_notification": {
        "big_picture": "logo"
    }
}

"style" - стиль развернутого уведомления, выставляется цифрами, значение 2 - соответствует стилю NotificationCompat.BigPictureStyle в Android. "icon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления маленькой иконки пуш-уведомления.
"largeIcon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления большой иконки пуш-уведомления, эта иконка будет отображаться для пуш-уведомления в свернутом состоянии.

"expandable_notification" - структура с описанием расширенного кастомного пуш-уведомления, если вы хотите показать пуш уведомление с разными стилями или специфичной версткой. "big_picture" - название файла (без расширения) в drawable ресурсах, большого_изображение которое будет показано в развернутом уведомлении.

  • Чтобы отображать развернутые и свернутые push-уведомления, просто передайте следующие параметры в json params
{
    "style": 3,
    "icon": "push_icon",
    "largeIcon": "push_icon_large",
    "expandable_notification": {
        "big_picture": "logo",
         "collapsed": {
            "message": "Nuclear weapon is ready!",
            "layout": "custom_notification_collapsed",
            "title_view": "title_notification",
            "text_view": "text_notification",
            "images": {
                "img_notification_background": "ic_notification",
                "img_notification_icon": "push_icon"
            }
        },
        "expanded": {
            "message": "Nuclear weapons are ready! But be careful when using it, since your combat units may also be harmed when used.",
            "layout": "custom_notification_expanded",
            "title_view": "title_notification",
            "text_view": "text_notification",
            "images": {
               "img_notification_background": "ic_notification",
               "img_notification_icon": "push_icon_large"
            }
        }
    }
}

"style" - стиль развернутого уведомления, выставляется цифрами, значение 3 - соответствует стилю NotificationCompat.DecoratedCustomViewStyle в Android "icon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления маленькой иконки пуш-уведомления.
"largeIcon" - название файла (без расширения) в drawable ресурсах, который будет использоваться для выставления большой иконки пуш-уведомления, эта иконка будет отображаться для пуш-уведомления в свернутом состоянии.

"expandable_notification" - структура с описанием расширенного кастомного пуш-уведомления, если вы хотите показать пуш уведомление с разными стилями или специфичной версткой.

"collapsed" - структура с описанием для отображения пуш-уведомления в свернутом состоянии. "collapsed_message" - текст сообщения для пуш-уведомления. "collapsed_layout" - название файла (без расширения) в layout ресурсах, который будет использовать для показа свернутого пуш-уведомления. "title_view" - идентификатор для поля заголовка в collapsed_layout (view:android:id). "text_view" - идентификатор для поля текста сообщения в collapsed_layout (view:android:id). "images" - структура с описанием всех view:android:id(ключи), указанных в collapsed_layout, и названия drawable файлов(значения).

"expanded" - структура с описанием для отображения пуш-уведомления в развернутом состоянии. "expanded_message" - текст сообщения для пуш-уведомления в развернутом состоянии. "expanded_layout" название файла (без расширения) в layout ресурсах, который будет использовать для показа развернутого пуш-уведомления. "title_view" - идентификатор для поля заголовка в expanded_layout (view:android:id). "text_view" - идентификатор для поля текста сообщения в expanded_layout (view:android:id). "images" - структура с описанием всех view:android:id(ключи), указанных в expanded_layout, и названия drawable файлов(значения).

Параметр style по умолчанию

Параметр style по умолчанию соответствует стилю NotificationCompat.BigTextStyle, этот стиль больше подходит только для уведомлений в развернутом состоянии.

Кастомные пуш-уведомления (iOS)🔗

Чтобы отправить уведомление с категорией (кастомный интерфейс или уведомление с кнопками), сначала нужно зарегистрировать эту категорию на клиенте (читайте в документации по интеграции SDK).

Затем, чтобы отправить push уведомление с выбранной категорией нужно:

  • При отправке S2S (любой из двух вариантов ниже)
    1. Добавьте нужную категорию в поле channelgroupid(описано выше)
    2. В поле json_params(описано выше) добавьте json, в котором в корне будет лежать ключ aps_category с идентификатором нужной категории. (например - {"data1": "someAppData", "aps_category":"<CategoryId>"})
  • При отправке через сайт MRGS (любой из двух вариантов ниже)
    1. Добавьте нужную категорию в поле "ID канала"
    2. В поле Дополнительные параметры добавьте json, в котором в корне будет лежать ключ aps_category с идентификатором нужной категории. (например - {"data1": "someAppData", "aps_category":"<CategoryId>"})

Последнее обновление: 2025-01-21
Дата создания: 2020-01-16