PushNotifications::Listener Struct Reference

Register a listener (ideally on application startup) to receive information about notifications received and any callbacks to async functions called. More...

Public Member Functions

virtual ~Listener ()
 
virtual void notificationSettingsReceived (const Settings &settings)
 This callback will be called after you call requestSettingsUsed() or requestPermissionsWithSettings(). More...
 
virtual void pendingLocalNotificationsListReceived (const Array< Notification > &notifications)
 Called when the list of pending notifications, requested by calling getPendingLocalNotifications() is returned. More...
 
virtual void handleNotification (bool isLocalNotification, const Notification &notification)
 This can be called in multiple different situations, depending on the OS and the situation. More...
 
virtual void handleNotificationAction (bool isLocalNotification, const Notification &notification, const String &actionIdentifier, const String &optionalResponse)
 This can be called when a user performs some action on the notification such as pressing on an action button or responding with a text input. More...
 
virtual void localNotificationDismissedByUser (const Notification &notification)
 For iOS10 and Android, this can be also called when a user dismissed the notification before responding to it. More...
 
virtual void deliveredNotificationsListReceived (const Array< Notification > &notifications)
 Called after getDeliveredNotifications() request is fulfilled. More...
 
virtual void deviceTokenRefreshed (const String &token)
 Called whenever a token gets refreshed. More...
 
virtual void remoteNotificationsDeleted ()
 Called when Firebase Cloud Messaging server deletes pending messages. More...
 
virtual void upstreamMessageSent (const String &messageId)
 Called when an upstream message sent with PushNotifications::sendUpstreamMessage() has been sent successfully. More...
 
virtual void upstreamMessageSendingError (const String &messageId, const String &error)
 Called when there was an error sending an upstream message with PushNotifications::sendUpstreamMessage(). More...
 

Detailed Description

Register a listener (ideally on application startup) to receive information about notifications received and any callbacks to async functions called.

Constructor & Destructor Documentation

◆ ~Listener()

virtual PushNotifications::Listener::~Listener ( )
virtual

Member Function Documentation

◆ notificationSettingsReceived()

virtual void PushNotifications::Listener::notificationSettingsReceived ( const Settings settings)
virtual

This callback will be called after you call requestSettingsUsed() or requestPermissionsWithSettings().

Note that settings are currently only used on iOS. When called on other platforms, Settings with no categories and all allow flags set to true will be received in Listener::notificationSettingsReceived().

References ignoreUnused().

◆ pendingLocalNotificationsListReceived()

virtual void PushNotifications::Listener::pendingLocalNotificationsListReceived ( const Array< Notification > &  notifications)
virtual

Called when the list of pending notifications, requested by calling getPendingLocalNotifications() is returned.

iOS 10 or above only.

References ignoreUnused().

◆ handleNotification()

virtual void PushNotifications::Listener::handleNotification ( bool  isLocalNotification,
const Notification &  notification 
)
virtual

This can be called in multiple different situations, depending on the OS and the situation.

On pre iOS 10 device it will be called when a user presses on a notification or when a notification was received when the app was in the foreground already. On iOS 10 it will be called when a user presses on a notification

Note: on Android, if remote notification was received while the app was in the background and then user pressed on it, the notification object received in this callback will contain only "properties" member set. Hence, if you want to know what was the notification title, content etc, you need to set them as additional properties, so that you will be able to restore them from "properties" dictionary.

Note you can receive this callback on startup, if the application was launched from a notification.

References ignoreUnused().

◆ handleNotificationAction()

virtual void PushNotifications::Listener::handleNotificationAction ( bool  isLocalNotification,
const Notification &  notification,
const String actionIdentifier,
const String optionalResponse 
)
virtual

This can be called when a user performs some action on the notification such as pressing on an action button or responding with a text input.

Note that pressing on a notification area, i.e. not on an action button is not considered to be an action, and hence receivedNotification() will be called in that case.

Note you can receive this callback on startup, if the application was launched from a notification's action.

Parameters
isLocalNotificationIf the notification is local
notificationThe notification
actionIdentifierA String identifiing the action
optionalResponseText response a user inputs for notifications with a text input. Empty for notifications without a text input option.

References ignoreUnused().

◆ localNotificationDismissedByUser()

virtual void PushNotifications::Listener::localNotificationDismissedByUser ( const Notification &  notification)
virtual

For iOS10 and Android, this can be also called when a user dismissed the notification before responding to it.

References ignoreUnused().

◆ deliveredNotificationsListReceived()

virtual void PushNotifications::Listener::deliveredNotificationsListReceived ( const Array< Notification > &  notifications)
virtual

Called after getDeliveredNotifications() request is fulfilled.

Returns notifications that are visible in the notification area on the device and that are still waiting for a user action/response.

On iOS, iOS version 10 or higher is required. On Android, API level 18 or higher is required. For unsupported platforms, an empty array will be returned.

References ignoreUnused().

◆ deviceTokenRefreshed()

virtual void PushNotifications::Listener::deviceTokenRefreshed ( const String token)
virtual

Called whenever a token gets refreshed.

You should monitor any token updates, because only the last token that is assigned to device is valid and can be used.

References ignoreUnused().

◆ remoteNotificationsDeleted()

virtual void PushNotifications::Listener::remoteNotificationsDeleted ( )
virtual

Called when Firebase Cloud Messaging server deletes pending messages.

This can happen when 1) too many messages were sent to the server (hint: use collapsible messages). 2) the devices hasn't been online in a long time (refer to Firebase documentation for the maximum time a message can be stored on FCM before expiring).

◆ upstreamMessageSent()

virtual void PushNotifications::Listener::upstreamMessageSent ( const String messageId)
virtual

Called when an upstream message sent with PushNotifications::sendUpstreamMessage() has been sent successfully.

Bear in mind that in may take several minutes or more to receive this callback.

References ignoreUnused().

◆ upstreamMessageSendingError()

virtual void PushNotifications::Listener::upstreamMessageSendingError ( const String messageId,
const String error 
)
virtual

Called when there was an error sending an upstream message with PushNotifications::sendUpstreamMessage().

Bear in mind that in may take several minutes or more to receive this callback.

References ignoreUnused().


The documentation for this struct was generated from the following file: