--- 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" --- > ## 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?sv=2026-02-06&spr=https&st=2026-11-11T14%3A58%3A50Z&se=2026-11-11T15%3A58%3A50Z&sr=c&sp=r&sig=Di0rC62ooftBeofexy%2Fy1rwMeVzwhcFzFibsJKUSCRI%3D) 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 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?sv=2026-02-06&spr=https&st=2026-11-11T14%3A58%3A50Z&se=2026-11-11T15%3A58%3A50Z&sr=c&sp=r&sig=Di0rC62ooftBeofexy%2Fy1rwMeVzwhcFzFibsJKUSCRI%3D) 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**