77 lines
2.5 KiB
Markdown
77 lines
2.5 KiB
Markdown
# Gotify Custom Android
|
|
|
|
<img align="right" src="app.gif" width="250" />
|
|
|
|
Gotify Custom Android is a customized version of the Gotify Android client that connects to [gotify/server](https://github.com/gotify/server) and shows push notifications on new messages.
|
|
|
|
## Features
|
|
|
|
* show push notifications on new messages
|
|
* view and delete messages
|
|
* filter notifications by priority (custom feature)
|
|
|
|
## Installation
|
|
|
|
Build the APK using the instructions below or download from the releases.
|
|
|
|
This is a custom build with package name `com.github.gotifycustom` to avoid conflicts with the original Gotify app.
|
|
|
|
### Disable battery optimization
|
|
|
|
By default Android kills long running apps as they drain the battery. With enabled battery optimization, Gotify Custom will be killed and you wont receive any notifications.
|
|
|
|
Here is one way to disable battery optimization for Gotify Custom.
|
|
|
|
* Open "Settings"
|
|
* Search for "Battery Optimization"
|
|
* Find "Gotify Custom" and disable battery optimization
|
|
|
|
See also https://dontkillmyapp.com for phone manufacturer specific instructions to disable battery optimizations.
|
|
|
|
### Minimize the Gotify Custom 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 Custom
|
|
* Click Notifications
|
|
* Click on `Gotify Custom foreground notification`
|
|
* Toggle the "Minimize" option / Select a different "Behavior" or "Importance" (depends on your Android version)
|
|
* Restart Gotify Custom
|
|
|
|
## 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.
|
|
|
|
```bash
|
|
$ ./gradlew build
|
|
```
|
|
|
|
The APK will be in `app/build/outputs/apk/` with package name `com.github.gotifycustom`.
|
|
|
|
## Update client
|
|
|
|
* Run `./gradlew generateSwaggerCode`
|
|
* Delete `client/settings.gradle` (client is a gradle sub project and must not have a settings.gradle)
|
|
* Delete `repositories` block from `client/build.gradle`
|
|
* Delete `implementation "com.sun.xml.ws:jaxws-rt:x.x.x“` from `client/build.gradle`
|
|
* Insert missing bracket in `retryingIntercept` method of class `src/main/java/com/github/gotify/client/auth/OAuth`
|
|
* Commit changes
|
|
|
|
## Versioning
|
|
We use [SemVer](http://semver.org/) for versioning.
|
|
|
|
## License
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details
|
|
|