Уведомления APP notice.json
Описание
notice.jsonотправляет пользовательские уведомления провайдера. Владелец провайдера может отправлять пользователям глобальные сообщения об акциях, обслуживании линий и т.п.- Место отображения: Karing - Настройки - Уведомления.
Когда запрашиваются соответствующие сообщения провайдера?
- Когда пользователь завершил привязку ISP/провайдера, и произошло [запуск приложения/переход приложения на передний план/включение подключения/отключение подключения], а в пределах [времени запроса конфигурации] запрос еще не выполнялся, будет запрошен
notice.json. - Время запроса конфигурации: по умолчанию 180 минут, минимум 10 минут(
notice_update_intervalв файлеbase.json, единица - минуты).
Можно ли разместить самостоятельно
- По умолчанию размещается на сайте karing.
- Адрес:
https://potter.karing.app/isp/{pid}/notice.json?v={version}
- Адрес:
- Владелец провайдера может выбрать собственное размещение, например на своем сайте
- Измените пункт
noticeв файле base.jsonbase.json{... ..."notice": "https://your-own-website/karing/notice.json",... ...}
- Измените пункт
- Если есть возможность разработки, рекомендуется размещать на своем сайте и синхронно изменять json-файл при отправке сообщений провайдера, это быстрее и удобнее.
Описание комментариев
Описание полей
-
platform [обязательно]: тип платформы, одно из значений windows, macos, ios, android
-
channel [обязательно]: оставьте значение по умолчанию, не изменяйте
-
version_regex: регулярное выражение номера версии Karing; пустое значение соответствует всем версиям
-
region_code:
- соответствует стране и региону, заданным пользователем в Karing
- несколько регионов разделяются английской запятой
,, напримерus,ru,ir - пустое значение соответствует всем регионам
-
update_time [обязательно]: время обновления уведомления
- формат yyyy-mm-dd hh:mm:ss(например 2010-12-10 12:10:00), это время отображается в уведомлении на стороне Karing
-
expire_time: время истечения уведомления
- формат yyyy-mm-dd hh:mm:ss(например 2010-12-10 12:10:00), после этого времени Karing удалит уведомление
- если не указано или пусто: update_time + 30 дней
-
title: заголовок уведомления
- Не должен быть слишком длинным, иначе на мобильных устройствах может отображаться не полностью.
- Пустое значение означает отсутствие сообщения.
-
Формы отображения уведомления:
- content: содержимое уведомления, при нажатии title пользователю показывается текст
- url: URL страницы уведомления, при нажатии title открывается соответствующая веб-страница
- content и url можно задать только одно из двух
Примечания
- update_time и expire_time никак не обрабатывают часовой пояс, возможна разница в несколько часов из-за часовых поясов
- Karing строго сопоставляет список полей. Если он отличается, сообщение считается недействительным.
- platform, channel, version_regex, region_code должны существовать
Пример
notice.json
[
// --- ---> ниже сообщение для платформы windows
{
platform: "windows",
channel: "windows",
version_regex: "",
region_code: "",
update_time: "",
expire_time: "",
title: "",
content: "",
url: "",
},
// --- ---> ниже сообщение для платформы ios testflight
{
platform: "ios",
channel: "Apple - Test Flight",
version_regex: "",
region_code: "",
update_time: "",
expire_time: "",
title: "",
content: "",
url: "",
},
// --- ---> ниже сообщение для платформы ios appstore
{
platform: "ios",
channel: "Apple - App Store",
version_regex: "",
region_code: "",
update_time: "",
expire_time: "",
title: "",
content: "",
url: "",
},
// --- ---> ниже сообщение для платформы macos(включая testflight)
{
platform: "macos",
channel: "macos",
version_regex: "",
region_code: "",
update_time: "",
expire_time: "",
title: "",
content: "",
url: "",
},
// --- ---> ниже сообщение для платформы android
{
platform: "android",
channel: "*,android",
version_regex: "",
region_code: "",
update_time: "",
expire_time: "",
title: "",
content: "",
url: "",
},
];