Loading...
Searching...
No Matches
juce::PushNotifications::Listener Struct Reference

## Detailed Description

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

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

- juce_gui_extra/misc/juce_PushNotifications.h

## Public Member Functions

virtual | ~Listener ()=default
virtual void | notificationSettingsReceived (const Settings &settings)
| This callback will be called after you call requestSettingsUsed() or requestPermissionsWithSettings().
virtual void | pendingLocalNotificationsListReceived (const Array< Notification > &notifications)
| Called when the list of pending notifications, requested by calling getPendingLocalNotifications() is returned.
virtual void | handleNotification (bool isLocalNotification, const Notification &notification)
| This can be called in multiple different situations, depending on the OS and the situation.
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.
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.
virtual void | deliveredNotificationsListReceived (const Array< Notification > &notifications)
| Called after getDeliveredNotifications() request is fulfilled.
virtual void | deviceTokenRefreshed (const String &token)
| Called whenever a token gets refreshed.
virtual void | remoteNotificationsDeleted ()
| Called when Firebase Cloud Messaging server deletes pending messages.
virtual void | upstreamMessageSent (const String &messageId)
| Called when an upstream message sent with PushNotifications::sendUpstreamMessage() has been sent successfully.
virtual void | upstreamMessageSendingError (const String &messageId, const String &error)
| Called when there was an error sending an upstream message with PushNotifications::sendUpstreamMessage().

## Constructors and Destructors

## ~Listener()

virtual juce::PushNotifications::Listener::~Listener | ( |  | ) |

virtual default

## Member Functions

## notificationSettingsReceived()

virtual void juce::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().

## pendingLocalNotificationsListReceived()

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

virtual

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

## handleNotification()

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

virtual

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

This 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.

## handleNotificationAction()

virtual void juce::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

  isLocalNotification | If the notification is local
  notification | The notification
  actionIdentifier | A String identifying the action
  optionalResponse | Text response a user inputs for notifications with a text input. Empty for notifications without a text input option.

## localNotificationDismissedByUser()

virtual void juce::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.

## deliveredNotificationsListReceived()

virtual void juce::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.

## deviceTokenRefreshed()

virtual void juce::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.

## remoteNotificationsDeleted()

virtual void juce::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 juce::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.

## upstreamMessageSendingError()

virtual void juce::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.

### Purchase

Get JUCE

### Discover

What's New in JUCE Features

### Learn

Documentaion Tutorials Made with JUCE Resources

### Support

JUCE Forum Newsletter Archive

### About

Contact Us JUCE Legal JUCE Licensing FAQ

### Events

Audio Developer Conference
© Raw Material Software Limited