Skip to content

Android application

Notifly for Android — a native client that keeps a persistent WebSocket connection with the server and puts every new message directly into the notification shade within fractions of a second. It’s a fork of the Gotify client, adapted for Notifly: the server is hardcoded (https://api.notifly.ru), so when logging in you only enter your login and password (or connect with a client token) — there is no server address field in the UI.

In addition to receiving pushes, the app can browse and clear the message history, natively display heartbeats of a channel, and open the built-in admin panel where you can create channels and monitors — without leaving the app.

  • Push to the notification shade via WebSocket. The app keeps a background connection and shows a notification immediately when a message hits a channel. Delivery uses the same channel as web/desktop clients — these are normal Notifly messages, see Sending messages.
  • View and delete messages with channel filtering: you can view the feed of all channels at once or narrow it to a single one. Messages can be deleted individually (with the ability to undo) or all at once.
  • Native heartbeat viewing. Tapping the heartbeat dot in the channel shade or the “Heartbeats” item in channel settings opens a native screen with a list of the channel’s heartbeats and all its subchannels (read-only, worst-first). Tapping a row opens a detailed screen: status and config, uptime (sparkline over bucketed history + overall %), a period switch 24h / 7d / 30d, and a log of recent pings. Management (create/edit) still lives in the web admin — there’s a “Manage in web” button on the screen. More about heartbeats — on the Heartbeat page.
  • Built-in admin panel (WebView). Some admin actions open in a focused WebView (the same web admin without extra browser chrome): from here you can create channels and monitors without switching to the site.
  • Share text and URLs to a channel. The app registers as a target for the system ‘Share’ — select text or a link in any app, choose “Share → Notifly” and send it as a message to a chosen channel.
  • Settings and logs. The settings screen and the built-in connection logs viewer help understand why notifications are (not) arriving.

The app is available in three ways:

applicationId of the app — com.github.notifly.

After installation open the app and sign in with your login and password (the same as for app.notifly.ru). You don’t need to enter the server address — it’s hardcoded. If the account has already reached the limit of connected devices, the app will offer to reconnect one of the existing devices.

Each message has a priority from 0 to 10 — it determines how noticeable the notification will be on the phone:

PriorityBehavior on device
0Notification is not shown in the notification shade
1–3Icon in the status bar
4–7Icon in the status bar + sound
8–10Icon in the status bar + sound + vibration

Priority is set when sending a message (see Sending messages) or is taken from the channel’s defaultPriority if not specified in the message. For each priority range the app creates a separate Android importance channel, so you can fine-tune sound/vibration for each level in system settings.

Android aggressively “sleeps” long-running apps by default to save battery. If the system unloads Notifly from memory, the WebSocket will break and pushes will stop arriving. A few tips:

  • Disable battery optimization for Notifly. Settings → find “Battery Optimization” → find Notifly → disable optimization. For device-specific recommendations see dontkillmyapp.com.
  • Minimize the foreground connection notification (Android 8+). Notifly keeps a persistent foreground notification about connection status; you can make it less prominent: Settings → Apps → Notifly → Notifications → Notifly foreground notification → enable “Minimize” or lower “Importance”/“Behavior” (depends on Android version) → restart Notifly.
  • Sending messages — how and with what priority to send push.
  • Heartbeat — monitoring service pings, visible on the native heartbeats screen in the app.
  • First login — creating an account, channels and tokens.