# Mobile push for native iOS

Xulo mobile push is a notification for a native iOS app: a title, a body, an image, and a link. It shares one SDK and one audience with the in-app card. The first 1,000 monthly active users on an app are free. After that, $6 per 1,000. Apps do not pool.

The image is attached on the device. If it fails, the text still arrives. The expanded view shows the large image, the title, the body, and a button.

A monthly active user is a device that opened the app in the last 30 days. Push permission is not required. The first 1,000 on an app are free. Apps do not pool.

- Title, body, image, and link.
- A known screen opens in the app. An unknown https link opens in the system browser.
- A person approves the send.

## What a push contains

A Xulo push contains a title, a body, an image, and a link. The image is attached on the device, so a failed image does not block the text. The notification still arrives.

The expanded view shows the large image, the title, the body, and a button. The app decides which screen the button opens when it knows the address.

## Where the link opens

The link can be a screen inside the app or an https address. When the app knows the address, it opens that screen. When it does not, an https link opens in the system browser.

There is no in-app browser, and no switch that sends one campaign to an in-app page and another to the system browser. A known screen stays in the app. An unknown https address uses the system browser.

## Who can receive it

A monthly active user is a device that opened the app in the last 30 days. Push permission is not required. That is the device on the bill. The first 1,000 monthly active users on an app are free. After that, $6 per 1,000. Crossing 1,000 does not stop the app.

Xulo keeps an install id that survives a token refresh. A reinstall gets a new one. An external id is optional and does not replace the install id. Tags are text keys and values the app writes. Country comes from the network address, and that address is not stored. The SDK does not ask for location.

A purchase is an amount, a currency, and an order id. The iOS SDK writes it on the open install. A shop’s server can write the same record when an order is paid. The person page keeps the lifetime total for each currency. A segment picks the last 24 hours, the last 7 days, the last 30 days, or all time.

## How a send works

The panel, or an agent, can draft the message and the audience. The draft includes a count of who would receive it. Writing the draft does not send it. A person says yes. That yes is the send.

An existing mobile push list can be brought into the panel. The same audience can also receive the in-app card. The card is not sent through Apple’s push service.

## Two variants

A push can be two variants. The title, the body, the image, and the link can differ. The audience is split evenly between them. A person still approves the send. Xulo does not choose a winner.

The same split exists for the in-app card. Each variant keeps its own impressions, dismisses, and button clicks.

## A local time on each device

A scheduled push can be a clock time, such as 09:00, in the timezone of each device. The SDK reads that timezone from the device settings when the app opens.

The timezone is not taken from location, and not from the network address. A device that has never opened the app has no timezone yet, and none is invented for it.

## What it costs

The first 1,000 monthly active users on an app are free. After that, $6 per 1,000. Apps do not pool. A second app at 400 monthly active users is still $0. It does not spend the first app’s free thousand.

In-app impressions are not a separate charge. The meter is monthly active users. A device that opened and refused push is included, because the card can still be shown.

## Questions

### What does a Xulo push include?

A title, a body, an image, and a link. The expanded view shows the large image, the title, the body, and a button. If the image fails, the text still arrives.

### Where does the link in a push open?

The app opens the screen when it knows the address. An https link the app does not know opens in the system browser. There is no in-app browser.

### What counts as a monthly active user?

A monthly active user is a device that opened the app in the last 30 days. Push permission is not required. The first 1,000 monthly active users on an app are free. After that, $6 per 1,000. Apps do not pool.

### Does the text send if the image fails?

Yes. The image is attached on the device. If it fails, the title and the body still arrive.

### Can a push open a web page inside the app?

No. A known address opens the screen the app routes. An https address the app does not know opens in the system browser.

### Does Xulo ask for the device location?

No. Country comes from the network address, and that address is not stored. The SDK does not ask for location.

### What happens after 1,000 monthly active users?

The next 1,000 is a $6 block. 1,600 monthly active users is $6. 3,200 is $18. Crossing 1,000 does not stop the app. Blocks are not prorated.

### Can an existing push list be brought in?

Yes. An existing mobile push list can be brought into the panel. Each app still keeps its own free thousand.

### Is the in-app card sent as a push?

No. Mobile push and in-app are two products in one SDK. They share an audience. The card is drawn in the app, on an open or when the app calls a name you set. It is not sent through Apple’s push service.

### Does a draft send itself?

No. The panel or an agent can draft the message and the audience, including a count of who would receive it. A person says yes. That yes is the send.

### Can a Xulo push be an A/B test?

Yes. A push can have two variants. The audience is split evenly. A person still approves the send. Xulo does not pick a winner.

### Can a push arrive at a local time on each device?

Yes. A scheduled push can be a clock time in the device timezone. The SDK reads that timezone from the device settings when the app opens. It does not use location, and it does not use the network address.
