Android Notifications
What's new in Android Lollipop?
Slide 2
Slide 2 text
How users experience notifications
Slide 3
Slide 3 text
Where we come from
Slide 4
Slide 4 text
New Style
Slide 5
Slide 5 text
New Style
Slide 6
Slide 6 text
Where we come from
Slide 7
Slide 7 text
New way
Slide 8
Slide 8 text
New way
Public notifications Private notifications
Slide 9
Slide 9 text
No content
Slide 10
Slide 10 text
Heads Up Notifications
●
Are less intrusive than old way
●
Yet still annoying enough to not go unnoticed
●
For the most pressing notifications
Slide 11
Slide 11 text
No content
Slide 12
Slide 12 text
Android Wear
●
Mirrors notifications of device
●
Well, kind of – it's actually more flexible than
that
●
For stuff that is important now
Slide 13
Slide 13 text
User is in Control
●
User can disable all notifications for specific
apps
●
User can define periods of „Downtime“
– Only priority notifications will go through
– Only users can elevate apps to priority apps
●
Users can opt out of Lockscreen Notifications
Slide 14
Slide 14 text
User is in Control
Slide 15
Slide 15 text
User is in Control
●
User can go there either from the settings
●
Or when long-clicking your notification:
Slide 16
Slide 16 text
How devs create this stuff
Slide 17
Slide 17 text
The minimum
Slide 18
Slide 18 text
Always set the content intent
●
That's the intent that gets fired when the user
clicks your Notification
●
Users expect notifications to be clickable
●
Not required, but necessary :-)
Slide 19
Slide 19 text
Always set the content intent
Slide 20
Slide 20 text
PendingIntents
●
Independent of app lifecycle
●
Allows other apps to use your permissions
●
Key is combined of:
– Intent (without Extras!)
– Requestcode
●
Use correct flags
– Most often FLAG_UPDATE_CURRENT
Slide 21
Slide 21 text
More actions possible
Slide 22
Slide 22 text
Updating notifications
●
Android updates when ID is the same
●
Important for
– Actions
– Persistent notifications
●
To avoid flicker:
builder.setWhen(naturalTimestamp)
●
Consider adding this line:
builder.setOnlyAlertOnce(true);
Slide 23
Slide 23 text
Priority
●
HIGH or MAX -> Heads up notification
●
MIN -> no small icon will be displayed
– Don't use sound, light or vibration!
●
LOW -> small icon will be displayed
– Don't use sound, light or vibration!
●
DEFAULT
– Documentation recommends to use light and sound
●
Ranking in Lollipop more complex than before
Slide 24
Slide 24 text
Big Styles
●
BigPictureStyle
●
BigTextStyle
●
InboxStyle
– Doesn't work great on Wear
– Use stacked notifications on Wear instead
●
MediaStyle
– New in Lollipop
Slide 25
Slide 25 text
Big Styles
Slide 26
Slide 26 text
Visibility
●
Important for lockscreen notifications
– VISIBILITY_PUBLIC
●
Android displays everything
– VISIBILITY_PRIVATE
●
Is the default level
●
Android displays the icon and the ticker text
– VISIBILITY_SECRET
●
Android shows nothing on the lockscreen
●
builder.setVisibility(VISIBILITY_PUBLIC)
●
Consider setPublicVersion()
Slide 27
Slide 27 text
Visibility
Slide 28
Slide 28 text
Link to the Settings Activity
Slide 29
Slide 29 text
How to not spoil the user experience
Slide 30
Slide 30 text
PITA
●
Always consider the „Pain in the A**“ level
●
Notifications are attracting the user's attention
●
Thus they are always distracting
●
MIN do not show an icon
– The only one without any PITA attached
– Use them whenever possible and appropriate
Her
Slide 31
Slide 31 text
Ticker text
●
Is very distracting
●
Only use it if the user cares about it now
– The user's favorite club scored: Yes
– Some other club scored: No
Slide 32
Slide 32 text
LED colors
●
Just leave them white
●
The user doesn't know your color anyway
●
If at all, let the user select a color
Slide 33
Slide 33 text
Icon colors
●
Leave them white!
●
I mean it: Leave them white!
Slide 34
Slide 34 text
Icon colors
●
Leave them white!
●
I mean it: Leave them white!
●
This is a horrible mess:
Slide 35
Slide 35 text
User notifications
●
For cloud based notifications: Use user
notifications
●
See once, delete everywhere!
Slide 36
Slide 36 text
Priority
●
Do not use a higher priority to improve ranking
●
Consider the importance for the user only
Slide 37
Slide 37 text
Give the user control
●
Provide settings for notifications
●
Let them disable them completely
●
Let them control the PITA level
– Color, sound, vibration, priority, frequency
Slide 38
Slide 38 text
Make them a benefit
„Notifications embody your app's voice, and
contribute to your app's personality“
https://developer.android.com/design/patterns/notifications.html