A message to be sent to one or more devices.




The various priorities that dictate how the content should be handled should the user have a focus enabled.




Does not show an alert, light up the screen or break through Focus settings. These notifications are delivered silently and are available the next time the notification list is viewed. Examples are Dining Recommendations and New Episode availability.


This is the default and matches the behavior of iOS 14 and below. This priority can show up on screen, play sounds and will light up the screen. They will not break through Focus settings. Active should be used for notifications that do not warrant interrupting if the user does not want to be interrupted.


This priority is just like Active except that it can break through system controls such as notification summary and Focus if it has been allowed by the user. This priority should only be used when the notification requires immediate attention. For example, medication reminders, account security and package delivery alerts.


This priority is equivalent to the Critical notification support that exists is iOS 14. It can actively alert, break through system Focus settings and also bypass the ringer switch on the device. This priority requires a special entitlement from Apple. Examples would be weather alerts and local safety alerts.

Property descriptions


AlertBody As String

The title of the alert which is displayed in bold.


AlertSubTitle As String

The subtitle of the alert, displayed below the Title using a smaller font size.


AlertTitle As String

The descriptive text of the alert, displayed below the title and subtitle.


Badge As Integer

A number that, if greater than 0, appears in a red circle on the target app's icon on the home screen to indicate unread notifications.


Category As String

Corresponds to the identifier specified in the target app with MobileNotifications.AddResponseCategory.

If you're adding response categories in your iOS app, you assign them a category identifier. The Message.Category property should have the same identifier.


ContentAvailable As Boolean

The background notification flag.


FocusPriority As FocusPriorities

Dictates how the content should be handled should the user have a focus enabled.

See the FocusPriorities enumeration for details on the various priorities available.


LaunchImageName As String

Name of an image (to be display with the notification) in the app receiving the notification.

The image can be in the Xojo project or in the bundle if you are using a CopyFilesStep to put images into the built app.


MutableContent As Boolean

Indicates whether the data in the notification can be modified before it is presented to the user.


Relevance As Integer

The level of relevance relative to other notifications created by the same app.

On iOS 15 and later, when the user opens the Notification Center, of the unread notifications from an app (if any), the one with the highest relevance will be included in the summary.


SoundCritical As Boolean

Indicates that the sound should play even if the user has the sound disabled on their phone.

This is meant for emergency services and requires a special entitlement from Apple.


SoundName As String

The name of a sound file in the main bundle or in the Library/Sounds folder of the container directory of the app receiving the message.

The sound called "Default" will play the system sound.


TargetContentID As String

The identifier of the window brought forward.

This ID can be used with a Declare to get at the information connected to it. You can find out more in Apple's Developer Documentation.


ThreadID As String

An app-specific identifier for grouping related notifications.


UserData As JSONItem

Additional data to be delivered to the app.


See XojoCloud.RemoteNotifications class for sample code.


All project types on all supported operating systems.