Skip to main content
Version: 1.28 (Current)

Firebase - Create iOS message

Audience: Low-code Engineers

Skill Prerequisites: Actions, Tokens, Firebase project

Builds the iOS (APNs) settings of a Firebase push notification and saves them as JSON in a token. It doesn't send anything. Pass the token into the iOS Specific Notification Json parameter of Firebase - Send push notification.

Use it to set iOS options such as the badge, sound, subtitle, category and thread, or to give iOS a different title or body than the other platforms.

note

This action is part of the Push Notifications add-on (DnnSharp.PushNotifications). The add-on is installed separately and needs the PUSHN feature in your license. If it isn't licensed, the action fails with a "not licensed" error. If you don't see the Push Notifications actions, the add-on isn't installed.

Typical Use Cases​

  • Set the badge number on the app icon, for example the count of unread messages
  • Add a subtitle or play a custom sound
  • Group notifications in a thread, or set a category so the app shows its own buttons
  • Use localized strings from the app instead of text sent from the server

Don't use it to​

Action NameDescription
Firebase - Send push notificationSends the notification with the settings built by this action.
Firebase - Create Android messageBuilds the Android settings of the notification.
Firebase - Create WebPush messageBuilds the browser settings of the notification.

Input Parameter Reference​

ParameterDescriptionSupports TokensDefaultRequired
Thread IdAn app-specific ID that groups related notifications together, for example chat-[ChatId].Yesempty stringNo
CategoryThe notification type. It must match a category registered by the app, which decides the buttons shown.Yesempty stringNo
Mutable ContentWhen checked, the app's notification service extension can change the notification before it's shown, for example to add an image.NoUncheckedNo
BadgeThe number to show on the app icon, for example [UnreadCount]. 0 removes the badge. See Considerations.Yesempty stringNo
Title localization keyThe key of a string in the app's resources to use as the title. When it has a value, Message Title is ignored.Yesempty stringNo
Title localization argsValues that replace the format specifiers in the title string. One value per row. Shown when Title localization key has a value.YesemptyNo
Message TitleThe iOS title. It replaces the Message Title of the Send action on iOS. Hidden when Title localization key has a value.Yesempty stringNo
Subtitle localization keyThe key of a string in the app's resources to use as the subtitle. In 1.28, it's only used when Title localization key also has a value.Yesempty stringNo
Subtitle localization argsValues that replace the format specifiers in the subtitle string. One value per row. Shown when Subtitle localization key has a value.YesemptyNo
Message SubtitleThe subtitle shown under the title. In 1.28, it's ignored when Title localization key has a value.Yesempty stringNo
Body localization keyThe key of a string in the app's resources to use as the body. When it has a value, Message Body is ignored.Yesempty stringNo
Body localization argsValues that replace the format specifiers in the body string. One value per row. Shown when Body localization key has a value.YesemptyNo
Message BodyThe iOS body. It replaces the Message Body of the Send action on iOS. Hidden when Body localization key has a value.Yesempty stringNo
Message Launch ImageThe name of an image file in the app bundle to show while the app opens from the notification.Yesempty stringNo
Message Action Localization KeyThe key of a string in the app's resources to use as the text of the action button.Yesempty stringNo
Message SoundThe name of a sound file in the app's main bundle or in its Library/Sounds folder, or default.Yesempty stringNo
Data Input TypeWhere the custom data comes from: Name Value Pairs or List Name.NoName Value PairsNo
DataCustom key/value pairs added to the APNs payload, next to aps. Shown when Data Input Type is Name Value Pairs.Yes, keys and valuesemptyNo
Data List NameThe name of a list whose items have key and value fields. Shown when Data Input Type is List Name.Noempty stringNo
Output TokenThe name of the token that receives the JSON, for example IosJson. Brackets are optional.Noempty stringYes

Output Parameters Reference​

ParameterDescription
[<Output Token>]The APNs settings as JSON. Pass it into iOS Specific Notification Json of the Send action.

Considerations​

  • Output Token is required. If Output Token is empty, the action does nothing and shows no error.
  • The subtitle follows the title localization key. In 1.28, the action checks Title localization key instead of Subtitle localization key when it sets the subtitle. With no title localization key, Message Subtitle is used and Subtitle localization key is ignored. With a title localization key, Subtitle localization key is used and Message Subtitle is ignored.
  • Badge is always sent. In 1.28, an empty Badge is sent as -1 instead of being left out. Always set the number you want, or 0 to clear the badge.
  • Missing list fails the action. In 1.28, when Data Input Type is List Name and the list doesn't exist, or Data List Name is empty, the action fails. The other Create message actions ignore a missing list.
  • Data list format. Every list item must have a key field and a value field, and keys must be unique. Otherwise, the action fails.
  • Data goes into the APNs payload. The iOS data is added to the APNs payload next to aps. Don't use aps as a key.

Examples​

tip

To understand how to use the below examples, please see Running Examples.

1. Build iOS settings with a badge and subtitle​

This action builds iOS settings with the unread count as the badge, a subtitle, the default sound and a thread ID for the chat. It saves the JSON in IosJson. Pass [IosJson] into the Send action.

{
"Title": "Firebase - Create iOS message",
"ActionType": "Firebase.CreateIosFirebaseMessage",
"Description": "Build the iOS chat notification",
"Parameters": {
"ThreadId": "chat-[ChatId]",
"Category": "CHAT_MESSAGE",
"MutableContent": false,
"Badge": "[UnreadCount]",
"Title": "New message",
"Subtitle": "From [SenderName]",
"Body": "[MessagePreview]",
"Sound": "default",
"DataInputType": "NameValue",
"Data": {
"chatId": "[ChatId]"
},
"OutputToken": "IosJson"
}
}

Revised 10/03/2026