> This page is part of the [Customer.io documentation](https://docs.customer.io). For the complete index, see [llms.txt](https://docs.customer.io/llms.txt).
> Last updated: August 18, 2026

# Start Live Updates

Once you’ve [set up Live Updates](/integrations/sdk/android/live-notifications/set-up/), there are two ways to start a live notification:

*   **From your server:** You call [the API](/integrations/api/app/#tag/live-notifications/startLiveNotification) when you’re ready to start a live notification, and Customer.io delivers an FCM data message. The SDK renders the notification without your app needing to be open. This is the most common path for notifications like delivery tracking and live scores.
*   **From your app:** Start the notification locally through the push module. Built-in types use typed data classes; custom types take a field map. This is a common path for notifications like a workout progress tracker.

## From your server

Call the API to [start](/integrations/api/app/#tag/live-notifications/startLiveNotification) and [update](/integrations/api/app/#tag/live-notifications/updateLiveNotification) a live notification. Customer.io delivers the FCM data message, and the SDK renders the notification from your payload’s fields. See the [API and payload reference](/integrations/sdk/android/live-notifications/reference/) for each template’s fields.

## From your app

Start the notification locally through the push module:

```
import io.customer.messagingpush.livenotification.LiveNotificationData

// Built-in template type
val activityId = pushModule.startLiveNotification(
    LiveNotificationData.Segments(
        header = "Order",
        status = "Order received",
        segmentsTotal = 4,
        segmentsComplete = 1
    )
)
```

`startLiveNotification` returns the notification’s generated ID and registers it with Customer.io, so your server can take over updates from there. Local starts and ends are reported to Customer.io automatically. Local updates change the notification on the device but don’t appear in the Customer.io delivery timeline.

Then you can update the notification and end it later with the returned ID:

```
// Update and end it later with the returned id
pushModule.updateLiveNotification(
    activityId,
    LiveNotificationData.Segments(
        header = "Order",
        status = "Out for delivery",
        segmentsTotal = 4,
        segmentsComplete = 3
    )
)
pushModule.endLiveNotification(activityId)
```

For the full lifecycle, states, instance IDs, and how deliveries appear in Customer.io, see the [API and payload reference](/integrations/sdk/android/live-notifications/reference/).

## How the SDK handles tokens and updates

Live Updates reuse the FCM registration token your app already uses for push. There are no separate token types to manage. The SDK registers tokens for **identified people** only—if a customer hasn’t been identified yet, it holds the registration and sends it when they are.

Live notifications arrive as FCM **data messages**, not display notifications, so the SDK renders them directly and updates the notification in place by its instance ID. Because Android renders each message as it arrives, the SDK guards against out-of-order and duplicate deliveries using the message timestamp.

Two things end a notification’s lifecycle on the device beyond your server’s end call:

*   **A person dismisses the notification.** When someone swipes the notification away, the SDK ends the activity and clears it.
*   **A person logs out.** The SDK ends and clears every live notification on the device.

[GitHub project](https://github.com/customerio/customerio-android "View the Android SDK on GitHub")

Version

4.20.1 (Current)3.x (3.11.2)2.x (2.1.1)

©2026 Peaberry Software, Inc. [Status](https://status.customerio.com/) [Terms of Service](https://customer.io/legal/terms-of-service/) [Privacy Policy](https://customer.io/legal/privacy-policy/)

[](https://www.linkedin.com/company/customer-io)[](https://twitter.com/customerio)[](https://www.youtube.com/channel/UCkCaWdezRoa8ZyR9pEVaipA)[](https://www.instagram.com/customer.io/)
