Amplify In-App Messaging helps you better engage your users with messages they can see while actively using your application. Send targeted messages to your defined user segments or even trigger contextual messages based on user behavior. Once you are up and running with In-App Messaging, you’ll be able to create messages that look native to your application and deliver them to your users all without additional code changes.

The different types of messages that can be shown to users are:

- **Top Banner** – a message that appears as a banner at the top of the page.
- **Bottom Banner** – a message that appears as a banner at the bottom of the page.
- **Middle Banner** – a message that appears as a banner in the middle of the page.
- **Full Screen** – a message that covers the entire screen.
- **Modal** – a message that appears in a window in front of the page.
- **Carousel** – a horizontally scrollable layout of up to five unique messages.

## How it works

Unlike traditional push notifications, in-app messages are synced to your user’s device locally so that when an analytics event triggers them, they can be displayed instantly. An added benefit to in-app messages being locally stored is that, once synced, in-app messages can work even in offline use cases.

In-App Messaging also integrates seamlessly with [Amplify Analytics](https://docs.amplify.aws/lib/analytics/getting-started/q/platform/js/). Once you’ve set up an In-App Messaging campaign (through [Amazon Pinpoint](https://aws.amazon.com/pinpoint/)), simply sync messages to your user’s device and recorded analytics events will automatically start working as trigger events to display in-app messages to your users.

![In-App-Messaging](/images/lib/in-app-messaging/preview-console-and-simulator.png)
