Notify
Simplified notification construction for Android.
Notify is a Fluent API for Android notifications which lets you build notifications without worrying how they'll look across devices or API versions. You can bring deterministic notifications to your Android projects with clarity & ease so you can finally stop fighting Developer documentation and get back to dev work that really matters.
GETTING STARTED
Notify (pre-)releases are available via JitPack. It is recommended that a specific release version is selected when using the library in production as there may be breaking changes at anytime.
Tip: Test out the canary channel to try out features by using the latest develop snapshot;
develop-SNAPSHOT
.
// Project level build.gradle
// ...
repositories {
maven { url 'https://jitpack.io' }
}
// ...
// Module level build.gradle
dependencies {
// Replace version with release version, e.g. 1.0.0-alpha, -SNAPSHOT
implementation "io.karn:notify:[VERSION]"
}
USAGE
The most basic case is as follows:
Notify
.with(context)
.content { // this: Payload.Content.Default
title = "New dessert menu"
text = "The Cheesecake Factory has a new dessert for you to try!"
}
.show()
If you run into a case in which the library does not provide the requisite builder functions you can get the NotificationCompat.Builder
object and continue to use it as you would normally by calling NotifyCreator#asBuilder()
.
Tip: You can view other notification styles on the Notification Types docs page.
Tip: Advanced usage topics are documented here.
NOTIFICATION ANATOMY
ID | Name | Description |
---|---|---|
1 | Icon | Set using the Header#icon field. |
2 | App Name | Application name, immutable. |
3 | Header Text | Optional description text. Set using the Header#headerText field. |
4 | Timestamp | Timestamp of the notification. |
5 | Expand Icon | Indicates that the notification is expandable. |
6 | Content | The "meat" of the notification set using of of the NotifyCreator#as[Type]((Type) -> Unit) scoped functions. |
7 | Actions | Set using the NotifyCreator#actions((ArrayList<Action>) -> Unit) scoped function. |
CONTRIBUTING
There are many ways to contribute, you can
- submit bugs,
- help track issues,
- review code changes.