# In-app cards

> A native card drawn inside the app, on an open or when the app calls a name. It does not need push permission.

URL: https://docs.xulo.io/concepts/in-app-cards

An in-app card shows inside the app while it is in the foreground. The SDK draws it natively. It is not a web page, and it is not sent through Apple's push service, so it also shows on devices that did not allow push.

## The card

The dashboard and an agent fill the same record:

- an image, a title, a body and one button with an optional link
- background, title, body and button colors
- a close button, top left or top right
- a placement

The type is the system font. One card shows at a time. When several cards match, the most recently published card wins.

## Placements

| Placement | How it sits |
| --- | --- |
| Center window | A window in the middle of the screen. The app behind it is dimmed. |
| Full screen | The card fills the screen. |
| Top banner | The card sits on the top edge. The app stays usable. |
| Bottom banner | The card sits on the bottom edge. The app stays usable. |

## When it shows

An open is the app coming to the foreground. Coming forward again while the app is already open does not count as another open.

| Rule | Shows |
| --- | --- |
| Once, on the next open | On the next open. That device does not see it again. |
| Every open | Each time the app comes to the foreground. |
| First open only | The first time that device opens the app. |
| The open you number | Once, on the open number you set. |
| After a push | On the next open of devices that received a specific push. |
| A name the app calls | When the app calls `Xulo.call` with that name. Once per device, or on every call. The dashboard lists this rule as **An event**. |

The name call is not stored and is not a custom event. It only asks, at that moment, whether this device has a card for that name.

## Audience

A card can go to a built-in audience or to people with a tag. See [Segments](https://docs.xulo.io/concepts/segments).

## Publishing

A card shows only after it is published. The dashboard card editor saves a draft. An agent's card is published when the agent sends the draft. See [Drafts and approval](https://docs.xulo.io/concepts/drafts-and-approval).

## Links

A card's link follows the same rule as a push link. Your app gets it through `Xulo.onOpen` first. An https link your app does not open goes to the system browser.

## Results

Each card keeps its own impressions, dismissals and button clicks. See [Delivery and analytics](https://docs.xulo.io/concepts/delivery-and-analytics).

See [In-app](https://docs.xulo.io/ios/in-app) for the SDK side.
