Skip to main content
The iOS Push editor is a form with title, body, image, and action URL — with a live lock screen preview on the right. Content is personalised with Handlebars variables ({{variable_name}}).

iOS Push fields

Title — single-line heading. Keep under 30 characters — iOS truncates on the lock screen. Supports Handlebars variables. Body — multi-line message text. Front-load key info in the first line (4 lines visible in expanded view). Supports Handlebars variables. Image URLoptional. Public URL for a rich notification image (PNG, JPG, JPEG, min 1024x1024 for best rendering). GIFs play in the expanded view. Requires a Notification Service Extension in your app — the SuprSend iOS SDK includes this by default. See iOS SDK integration. Action URLoptional. URL opened on tap. Always set one — without it, tapping opens the app’s default screen. Supports deep links and Handlebars variables.

Adding dynamic content

You can add variables in the template to personalise it for each recipient. Variables are replaced with actual data at send time.
1

Add variables in the Variables panel

Add sample data in the Variables panel (Input Payload section) on the left side of the editor. This powers auto-suggestions and the live preview. For the full guide, see Adding dynamic content.
2

Use variables in the template

Type {{ in any field — matching variables appear as auto-suggestions. You can also type variable names manually following Handlebars syntax.Examples using this sample data:
{
  "event": {
    "location": {
      "city": "San Francisco",
      "state": "California"
    },
    "order_id": "11200123",
    "first_name": "Joe"
  },
  "product_image_url": "https://yourapp.com/images/product.jpg"
}
  • Nested variable: {{event.location.city}} → renders as San Francisco
  • Variable with space in name: {{event.[first name]}}
The preview section shows sample values rendered in real-time. If a variable isn’t rendering, check:
  1. The variable is defined in the Variables panel.
  2. The variable name matches the Handlebars syntax exactly.
If a variable cannot be rendered at send time (missing or mismatched data), SuprSend discards the iOS Push notification for that user. Other channels in the same template group are still sent.

Preview and test

The right panel shows a live iOS lock screen preview, updated in real time as you edit. Variables render using data from the Variables panel. Click Test in the top-right corner to send a real push notification to a real device. This uses the live version — commit your changes before testing. See Testing a Template for the full guide.

Commit

Click Commit in the top bar to publish the current draft as a new live version. Add an optional description for versioning.

Common scenarios

FieldValue
TitleYour order is out for delivery
BodyOrder #{{order_id}} will arrive by {{eta}}. Tap to track.
Image URL{{product_image_url}}
Action URLhttps://yourapp.com/track/{{order_id}}
FieldValue
Title{{actor_name}} liked your post
Body"{{post_excerpt}}"
Action URLyourapp://posts/{{post_id}}
FieldValue
TitleRunning low?
BodyIt might be time to restock {{product_name}}.
Image URL{{product_image_url}}
Action URLhttps://yourapp.com/product/{{product_id}}

Frequently asked questions

Your app needs a Notification Service Extension to display rich media (images, GIFs). The SuprSend iOS SDK includes this by default. If you’re not using the SDK, add the extension manually. Supported formats: JPEG, PNG, GIF. Max size: 10 MB. Images display in the expanded notification view (long-press or swipe down). See iOS SDK integration.
SuprSend increments the app badge by 1 for each notification. Clear the badge in your app when the user opens it or reads notifications.
SuprSend discards the iOS Push notification for that user. Other channels in the same template group are still sent if they render successfully.