/gotify_android_app

An app for creating push notifications for new messages posted to gotify/server.

Primary LanguageKotlinMIT LicenseMIT

Gotify Android Build Status FOSSA Status latest release version F-Droid

Gotify Android connects to gotify/server and shows push notifications on new messages.

Features

  • show push notifications on new messages
  • view and delete messages

Installation

Download the apk or get the app via F-Droid or Google Play.

Get it on Google Play Get it on F-Droid Get it on F-Droid

Google Play and the Google Play logo are trademarks of Google LLC.

Disable battery optimization

By default Android kills long running apps as they drain the battery. With enabled battery optimization, Gotify will be killed and you wont receive any notifications.

Here is one way to disable battery optimization for Gotify.

  • Open "Settings"
  • Search for "Battery Optimization"
  • Find "Gotify" and disable battery optimization

See also https://dontkillmyapp.com for phone manufacturer specific instructions to disable battery optimizations.

Minimize the Gotify foreground notification

Only possible for Android version >= 8

The foreground notification showing the connection status can be manually minimized to be less intrusive:

  • Open Settings -> Apps -> Gotify
  • Click Notifications
  • Click on Gotify foreground notification
  • Toggle the "Minimize" option / Select a different "Behavior" or "Importance" (depends on your Android version)
  • Restart Gotify

Message Priorities

Notification Gotify Priority
- 0
Icon in notification bar 1 - 3
Icon in notification bar + Sound 4 - 7
Icon in notification bar + Sound + Vibration 8 - 10

Building

Use Java 17 and execute the following command to build the apk.

$ ./gradlew build

Update client

  • Run ./gradlew generateSwaggerCode
  • Discard changes to client/build.gradle (newer versions of dependencies)
  • Fix compile error in client/src/main/java/com/github/gotify/client/auth/OAuthOkHttpClient.java (caused by an updated dependency)
  • Delete client/settings.gradle (client is a gradle sub project and must not have a settings.gradle)
  • Commit changes

Versioning

We use SemVer for versioning. For the versions available, see the tags on this repository.

License

This project is licensed under the MIT License - see the LICENSE file for details