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
Пример ответа🔗
Кастомные пуш-уведомления (Андроид)🔗
Для кастомизации уведомлений достаточно передать следующие параметры в 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 (любой из двух вариантов ниже)
- Добавьте нужную категорию в поле
channelgroupid(описано выше) - В поле
json_params(описано выше) добавьте json, в котором в корне будет лежать ключaps_categoryс идентификатором нужной категории. (например -{"data1": "someAppData", "aps_category":"<CategoryId>"})
- Добавьте нужную категорию в поле
- При отправке через сайт MRGS (любой из двух вариантов ниже)
- Добавьте нужную категорию в поле "ID канала"
- В поле Дополнительные параметры добавьте json, в котором в корне будет лежать ключ
aps_categoryс идентификатором нужной категории. (например -{"data1": "someAppData", "aps_category":"<CategoryId>"})
Дата создания: 2020-01-16