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

Android-приложение

Notifly для Android — нативный клиент, который держит постоянное WebSocket-соединение с сервером и кладёт каждое новое сообщение прямо в шторку уведомлений за доли секунды. Это форк клиента Gotify, доработанный под Notifly: сервер зашит (https://api.notifly.ru), поэтому при входе вы вводите только логин и пароль (или подключаетесь client-token-ом) — поля адреса сервера в UI нет.

Помимо приёма push-ов, приложение умеет просматривать и чистить историю сообщений, нативно показывать heartbeat-ы канала и открывать встроенную админку, где можно создавать каналы и мониторы — не выходя из приложения.

  • Push в шторку через WebSocket. Приложение держит фоновое соединение и показывает уведомление сразу, как сообщение попадает в канал. Доставка идёт по тому же каналу, что и для web/desktop-клиентов, — это обычные сообщения Notifly, см. Отправка сообщений.
  • Просмотр и удаление сообщений с фильтром по каналам: можно смотреть ленту всех каналов сразу или сузить до одного. Сообщения удаляются по одному (с возможностью отменить — undo) или все разом.
  • Нативный просмотр heartbeats. Тап по точке heartbeat в шторке каналов или пункт «Heartbeats» в настройках канала открывают нативный экран со списком heartbeat-ов канала и всех его подканалов (read-only, worst-first). Тап по строке открывает детальный экран: статус и конфиг, аптайм (спарклайн по бакетам истории + общий %), переключатель периода 24ч / 7д / 30д и лог последних пингов. Управление (создание/редактирование) по-прежнему живёт в веб-админке — на экране есть кнопка «Manage in web». Подробнее про сами heartbeat-ы — на странице Heartbeat.
  • Встроенная админка (WebView). Часть «админских» действий открывается во встроенном focused-WebView (та же веб-админка без лишнего хрома браузера): отсюда можно создавать каналы и мониторы, не переключаясь на сайт.
  • Шаринг текста и URL в канал. Приложение регистрируется как цель системного «Поделиться» — выделили текст или ссылку в любом приложении, нажали «Поделиться → Notifly» и отправили это сообщением в выбранный канал.
  • Настройки и логи. Экран настроек и встроенный просмотр логов соединения помогают понять, почему (не) приходят уведомления.

Приложение доступно тремя способами:

applicationId приложения — com.github.notifly.

После установки откройте приложение и войдите своим логином и паролем (теми же, что для app.notifly.ru). Адрес сервера вводить не нужно — он зашит. Если у аккаунта уже исчерпан лимит подключённых устройств, приложение предложит переподключить одно из существующих.

У каждого сообщения есть приоритет от 0 до 10 — он определяет, насколько заметным будет уведомление на телефоне:

ПриоритетПоведение на телефоне
0Уведомление не показывается в шторке
1–3Иконка в строке состояния
4–7Иконка в строке состояния + звук
8–10Иконка в строке состояния + звук + вибрация

Приоритет задаётся при отправке сообщения (см. Отправка сообщений) или берётся из defaultPriority канала, если в сообщении не указан. Под каждый диапазон приоритетов приложение создаёт отдельный канал важности Android, так что вы можете тонко настроить звук/вибрацию для каждого уровня в системных настройках.

Android по умолчанию агрессивно «усыпляет» долго работающие приложения, чтобы экономить батарею. Если система выгрузит Notifly из памяти, WebSocket порвётся и push-ы перестанут приходить. Несколько советов:

  • Отключите оптимизацию батареи для Notifly. Настройки → найдите «Оптимизация батареи» (Battery Optimization) → найдите Notifly → отключите оптимизацию. Для рекомендаций под конкретного производителя смотрите dontkillmyapp.com.
  • Сверните фоновое уведомление о статусе соединения (Android 8+). Notifly держит постоянное foreground-уведомление о статусе подключения; его можно сделать менее заметным: Настройки → Приложения → Notifly → Уведомления → Notifly foreground notification → включите «Свернуть» (Minimize) либо снизьте «Важность»/«Поведение» (зависит от версии Android) → перезапустите Notifly.
  • Отправка сообщений — как и с каким приоритетом слать push.
  • Heartbeat — мониторинг «звонков» сервиса, который виден на нативном экране heartbeats в приложении.
  • Первый вход — создание аккаунта, каналов и токенов.