Skip to content

Create native in-app messages

Native in-apps use ready-made layouts that the Pushwoosh SDK renders directly on the device, instead of the HTML page a custom in-app loads. This makes them load faster and animate more smoothly, and you don’t need design or development skills to build one.

Reach for a native in-app when you want to launch a promotion, reminder, or feature announcement quickly and a fully custom layout isn’t necessary. If you need full control over the design, build an HTML-based in-app instead.

Prerequisites

Anchor link to

Before you create a native in-app template, make sure:

  • The Pushwoosh SDK is integrated in your app so in-app messages can appear. Learn more
  • Your app runs iOS SDK 7.2.0+ or Android SDK 6.10.0+ for modal, fullscreen, and stories. Sheet, carousel, and banner need iOS SDK 7.2.1+ or Android SDK 6.10.1+.

Create a native in-app template

Anchor link to
  1. Go to ContentIn-apps.
  2. Click Create in-app.
  3. Enter a template name.
  4. Select Create native rich media.
  5. In DISPLAY TYPE, pick a display type: modal, fullscreen, stories, sheet, carousel, or banner.
  6. Click Create in-app.
Add new template dialog with Create native rich media selected and the display type dropdown set to modal

The editor opens with a live mobile preview on the right and the template fields on the left, grouped into Content, Config, and Actions. What you see in each group depends on the display type you picked.

Configure the display type

Anchor link to

A centered card, optionally shown over a dimmed background.

  1. Under Content, add a title and message, each with its own text color, plus an optional image.
  2. Under Config, set the card background color. This fills the card behind your text and image.
  3. Turn Close button on if you want a ✕ control so users can dismiss the in-app without tapping a button.
  4. Turn Dim background on to darken the screen behind the card and keep focus on your message.
  5. Under Actions, add one or more buttons. See Configure buttons.
Native in-app editor for the modal display type with Content, Config, and Actions fields, and a live mobile preview

Fullscreen

Anchor link to

An edge-to-edge cover image with text and buttons on top. Fill in these fields on the left panel:

  1. Under Content, add a cover image, plus a title and message, each with its own text color.
  2. Under Config, set the cover color. It shows while the cover image loads, or on its own if you leave the image empty.
  3. Turn Close button on if you want a ✕ control so users can dismiss the in-app without tapping a button.
  4. Under Actions, add one or more buttons. See Configure buttons.
Native in-app editor for the fullscreen display type with cover image, title, message, and cover color fields

A sequence of full-screen slides with progress bars at the top, similar to social media stories. Each slide is its own Stories entry under Content.

  1. Fill in the first slide’s Image, Title, and Message (each with its own text color).
  2. Set Seconds to how long the slide stays on screen before advancing. The default is 5. Enter a value from 1 to 30. Values outside this range block Save with a validation error.
  3. Optionally, click Add inside the slide to give it its own CTA button. See Configure buttons.
Stories slide with Image, Title, Message, and Seconds fields, and a nested Buttons entry with its own Add link
  1. Click Add below the last slide to add another slide, then repeat steps 1-3 for it.
  2. Under Config, turn Loop on if you want the story to start again from the first slide after the last one finishes.
  3. Turn Close button on if you want a ✕ control so users can exit before all slides play through.
Config panel for the stories display type with Loop and Close button toggles
Example of how the finished story looks for the user
Anchor link to

A bottom sheet that slides up from the lower edge of the screen. A handle at the top lets users drag it down to dismiss.

Fill in these fields on the left panel:

  1. Under Content, add a title and message, each with its own text color, plus an optional image.
  2. Under Config, set the sheet background color. This fills the panel behind your text and image.
  3. Turn Close button on if you want a ✕ control so users can dismiss the sheet without tapping a button.
  4. Under Actions, add one or more buttons. See Configure buttons.
Native in-app editor for the sheet display type with Content, Config, and Actions fields, and a live mobile preview

A full-screen message with several cards users swipe through. Dots at the bottom show which card is active. Under Content, each card is a separate Cards entry.

  1. Fill in the first card’s Image, Title, and Message (each with its own text color).
  2. Set Action for the card. Choose close to dismiss the in-app when the user taps the card, or url to open a link (same options as Configure buttons).
  3. Click Add below the last card to add another one, then repeat steps 1-2 for it.
  4. Turn Close button on if you want a ✕ control so users can leave the carousel without tapping a card.
Native in-app editor for the carousel display type with two Cards entries and a live mobile preview showing pagination dots

A compact bar pinned to the top or bottom edge of the screen, for messages that shouldn’t block the whole UI.

  1. Under Content, add a title and message, each with its own text color, plus an optional small image.
  2. Under Config, set Position to top or bottom to pin the banner at the screen edge you want.
  3. Set Auto-dismiss, sec to close the banner automatically after that many seconds. Leave it empty to keep the banner until the user dismisses it.
  4. Set the background color for the bar.
  5. Turn Close button on if you want a ✕ control on the banner.
  6. Under Actions, set Action to close or url. Banners don’t have separate buttons. Tapping anywhere on the banner runs this action. See Configure buttons for close and url behavior.
Native in-app editor for the banner display type with Position, Auto-dismiss, and Action fields, and a live mobile preview pinned to the bottom

Configure text fields

Anchor link to

Text fields don’t support multi-line text. If you press Enter, the editor may show a line break, but Pushwoosh saves a space instead. On the device, the text appears as one line.

To add an emoji, click Emoji next to the field toolbar. Emojis are supported in the same text fields as plain text. Check the live preview to see how they look on the layout.

Add dynamic content

Anchor link to

Every text field supports personalization with tags and User ID.

  1. Click Personalization next to the field toolbar.
  2. Under Tag, choose a tag or User ID.
  3. Choose a format modifier (for example, CapitalizeFirst or regular).
  4. Optionally, enter a Default Tag Value.
  5. Click Insert.
Message field with a first name tag chip, Personalization and Emoji controls, and a panel for Tag, format modifier, and default tag value

The inserted tag shows as a chip in the field. You can change the tag, modifier, and default before you click Insert. Personalization uses the same tags, modifiers, and defaults as Dynamic content.

When you click Save, Pushwoosh checks the dynamic content and Liquid in every text field. If a field doesn’t parse (for example, an unclosed {% if %} tag), Save is blocked and a Dynamic content contains errors toast names the broken field and language. Fix it there, then click Save again.

Configure buttons

Anchor link to

Modal, fullscreen, each stories slide, and sheet use the same button fields:

  • Button text and its color.
  • Background, Border color, and Border radius.
  • Action: choose what happens when the user taps the button:
    • close: dismisses the in-app.
    • url: opens the link you enter in the field that appears. Use a web address (for example, https://example.com) or a deep link into your app (for example, myapp://product/123).
Actions panel with a Buttons entry showing Button text, Color, Background, Border color, Border radius, and Action fields

Click Add to add another button, or the × on a button to remove it.

Add localizations

Anchor link to

By default, a native in-app has one language. To add more:

  1. Click + next to the language selector in the top bar.
  2. Select the languages to add and click Apply.
Select languages dialog with a search field, Select all, Deselect all, and Reuse last selection links, and a language checklist
  1. Use the language selector in the top bar to switch between languages and fill in the text fields for each one.

Save the template

Anchor link to

Click Save in the top right to persist your changes.

The template then appears in ContentIn-apps alongside your other in-app templates.

Use it in a campaign

Anchor link to

A native in-app template appears in the template picker together with your other in-app templates.

You can use it to: