Fire real-time events in iOS

Review how to fire events from your iOS app

In-app messages are triggered based on real-time in-app events. Real-time events can also be used for triggering comms like push notifications, email, SMS and inbox messages. This guide describes how to fire events from your iOS app.

Custom events

If you want to send a message to your customers after custom events occur then you must fire these events with the hitEvent method. For example, if you want to track as an event whenever a user opens the settings page, you would do it as follows:

// Tagging opened_settings in code where settings is opened
\\ Tagging opened_settings in code where settings is opened
[XPush hitEvent: @"opened_settings"];

The event opened_settings will then be available as a trigger option when creating an iOS push message.


Example of an iOS push campaign that will be triggered by the event 'opened_settings'.


An event is created in your project whenever you fire it for the first time from your app (as seen before), or you can also manually create it by navigating to Data Manager > Events > Create event.

Event values

It's possible to pass a value with the event hit. It could be used for additional segmentation and personalisation of your messages.

To pass a string value with the event use:

XPush.hitEvent("test", withValue: "payload")
[XPush hitEvent: @"test" withValue: @"payload"];

To pass key-value pairs with the event use:

XPush.hitEvent("product_added_to_basket", withValues: [
    "product_category": "Sports",
    "product_name": "Home Jersey"
[XPush hitEvent: @"product_added_to_basket" withValues: @{
  @"product_category": @"Sports",
  @"product_name": @"Home Jersey"

Session Start

There is a default event for tracking session starts or app open events. To enable in-app messaging on app open call the following method before initialising Xtremepush in your App Delegate:

[XPush setInAppMessageEnabled: YES];

From the Events tab you can then select the trigger Session Start to launch an in-app message.


Example of an In-app campaign triggered on Session Start.


Only in-app messages can be triggered on Session Start