---
title: "Fire real-time events in Android"
slug: "android-events"
updated: 2026-06-09T21:41:01Z
published: 2026-06-09T21:41:01Z
canonical: "docs.xtremepush.com/android-events"
stale: true
---

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.xtremepush.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Fire real-time events in Android

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 Android 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(String title)` method. For example, if you want to track as an event whenever a user opens the settings page, you would do it as follows:

```java
mPushConnector.hitEvent("opened_settings");
```

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

![2256](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/8578a10cd56ea128592352512827563b3048bbe3bec0d49d7533d3f69998e32b-Screenshot_2024-10-10_at_15.33.35(1).png)

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

> [!NOTE]
> 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:

```java
mPushConnector.hitEvent("test", "payload");
```

To pass key-value pairs with the event using HashMap:

```java
HashMap <String, String> hm = new HashMap<>();
hm.put("product_category", "Sports");
hm.put("product_name", "Home Jersey");
mPushConnector.hitEvent("product_add_to_basket", hm);
```

To pass key-value pairs with the event using JSONObject:

```java
JSONObject jo = new JSONObject();  
jo.put("type","transfer");  
jo.put("amount", 100);
mPushConnector.hitEvent("deposit",jo.toString());
```

## Session Start

There is a default event for tracking session starts or app open events. To do so, call the `setEnableStartSession` method before initialising Xtremepush in your main activity:

```java
// INITIALISE THE XTREMEPUSH CONNECTOR HERE
mPushConnector = new PushConnector.Builder("XTREME_PUSH_APP_KEY", "GOOGLE_PROJECT_NUMBER")
  .setEnableStartSession(true)
  .create(this);
```

From the [Events](/documentation/docs/campaign-events) tab you can then select the trigger **Session Start** to launch an in-app message.

![2248](https://cdn.document360.io/b056e88b-f6c1-4bd2-b5b8-08e9336a17c9/Images/Documentation/0775e1b26085b07d0a5f149ea5276da47f29ca9089dc11b652897bcf2b1961f3-Screenshot_2024-10-10_at_15.34.36(1).png)

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

> [!TIP]
> Only [in-app](/documentation/docs/quick-start-inapp) messages can be triggered on **Session Start**
