-
Notifications
You must be signed in to change notification settings - Fork 17
Notification payload support
The OPFPush library supports notification messaging. The mechanism is similar to GCM Notification payload support.
The NotificationMaker
interface was added to OPFPush for customizing notifications. You can add an instance of your own implementation for a push provider in a constructor. The default implementation which is used in BasePushProvider
is OPFNotificationMaker
.
To send a push message which is handled as a notification payload you must add to your data
the opf_notification
field which must has true
value. Also, you have to add the same parameters as for GCM notification messages.
Parameters for notification messaging by platform:
-
opf_notification
(required) - If it hastrue
value the other parameters will be used for building notification. If a parameter don't belong to this list it will be ignored. -
title
(required) - Indicates notification title. -
body
(optional) - Indicates notification body text. -
icon
(required) - Indicates notification icon. Sets value tomyicon
for drawable resource myicon.png. -
sound
(optional) - Indicates sound to be played. Supports onlydefault
currently. -
badge
(optional) - Indicates the badge on client app home icon. -
tag
(optional) - Indicates whether each notification message results in a new entry on the notification center on Android. If not set, each request creates a new notification. If set, and a notification with the same tag is already being shown, the new notification replaces the existing one in notification center. -
color
(optional) - Indicates color of the icon, expressed in#rrggbb
format. -
click_action
(optional) - The action associated with a user click on the notification.
You can use OPFNotificationMaker
with your own implementation of the NotificationPreparer
interface. You must implement the prepare(Bundle)
method. It must convert the bundle argument to an instance of NotificationPayload
. The bundle argument contains data parameters which are received by push provider. So you just get parameters for notification by your own keys and build a NotificationPayload
object which is used for creating a notification.