Screentime.BreakReminder
Emitted when a player has been in one unbroken screentime session for the break interval the parent configured. Show the player a prompt to take a break.
k-ID delivers Screentime.BreakReminder only to endpoints subscribed to it, and drops it for the rest without a delivery attempt or an error. Select it for your endpoint on the product's Developer Settings page. See Before you start.
This event fires while the player is still in session, not after they stop, because that's what break-reminder obligations such as California SB 243 require. k-ID schedules the reminder when you call /screentime/start and cancels it when you call /screentime/end, so the timing depends on your product reporting session boundaries in real time.
/screentime/push/screentime/push reports usage after the fact, so there is no live session for a reminder to interrupt. Products that need break reminders must use start and end. See Screentime for the comparison.
The reminder fires at most once per session. A player who plays for three times the break interval in one session gets one reminder, not three. Starting a new session restarts the interval.
k-ID doesn't interrupt the player or end the session. Deciding what a break looks like in your product is yours: a dismissible prompt, a forced pause, a saved checkpoint.
Fields
| Field | Type | Required | Description |
|---|---|---|---|
eventType | string | yes | Always "Screentime.BreakReminder" |
data | object | yes | Break reminder data |
data.sessionId | string (UUID) | yes | Session ID the reminder is for |
data.productId | number | yes | Product ID |
data.continuousDurationSeconds | number | yes | How long the current session has been in flight, in seconds |
data.breakIntervalSeconds | number | yes | The parent-configured break interval that triggered this reminder, in seconds |
continuousDurationSeconds is measured at the moment the event fires and can be slightly larger than breakIntervalSeconds because of delivery latency.
Example
{
"eventType": "Screentime.BreakReminder",
"data": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 42,
"continuousDurationSeconds": 2700,
"breakIntervalSeconds": 2700
}
}
When it doesn't fire
- The parent has no screentime schedule, or the schedule is disabled.
- The schedule sets no break-reminder interval.
- The session ended before the interval elapsed.