Перейти к основному содержимому

Уведомления 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.json
      base.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: "",
},
];