获取屏幕使用时间状态
返回 `sessionId` 当前的屏幕使用时间状态:家长设定的规则、当天的使用量,以及此刻平台是否可以允许游玩。平台会在会话开始时,以及收到 `Screentime.LimitWarning`、`Screentime.LimitReached`、`Screentime.QuietHoursWarning` 或 `Screentime.QuietHoursReached` webhook 后调用本接口,以刷新自身保存的状态。 当家长尚未为该会话配置屏幕使用时间,或已配置但停用了限制执行时,返回 `{ "enabled": false }`。
Authorization
api-key In: header
Query Parameters
uuidResponse Body
application/json
application/json
curl -X GET "https://example.com/screentime/get-state?sessionId=497f6eca-6276-4993-bfeb-53cbbbba6f08"{ "enabled": true, "access": { "allowed": true }, "state": { "timeUsedTodayMinutes": 75, "continuousUsageMinutes": 30, "timeLimitTodayMinutes": 120, "timeRemainingTodayMinutes": 45, "dayResetsAt": "2026-06-25T00:00:00Z" }, "schedule": { "timezone": "UTC", "breakReminderIntervalMinutes": 45, "dailyLimits": [ { "day": "mon", "limitMinutes": 120 }, { "day": "tue", "limitMinutes": 120 }, { "day": "wed", "limitMinutes": 120 }, { "day": "thu", "limitMinutes": 120 }, { "day": "fri", "limitMinutes": 120 }, { "day": "sat", "limitMinutes": 180 }, { "day": "sun", "limitMinutes": 180 } ], "quietHours": [ { "name": "Bedtime", "days": [ "mon", "tue", "wed", "thu", "fri" ], "start": "21:00", "end": "07:00" } ] }}{ "error": "INVALID_INPUT", "errorMessage": "The request was missing a sessionId parameter."}结束屏幕使用时间 POST
结束先前通过 `/screentime/start` 开始的活动屏幕使用时间。该时长会计入当天的屏幕使用量;若跨越当地午夜,则按日程所在时区拆分到相应日期。 状态含义: * `accepted` - 与 `id` 匹配的屏幕使用时间已结束,或对已结束的屏幕使用时间的重试被幂等处理。 当 `sessionId` 没有处于活动状态的屏幕使用时间,或本次请求中的 `id` 与开启该活动屏幕使用时间的 `id` 不一致时,返回 `NOT_FOUND` 错误码。
提交会话已完成的屏幕使用时段 POST
为某个 k-ID 会话提交一个或多个已完成的屏幕使用时段。每个事件记录一段使用何时开始、持续多久。当使用情况只能事后得知时使用本接口——例如先缓存时段再定期上传的后端,或在关闭时上报会话总量的游戏引擎。 每个被接受的时段会将其 `durationSeconds` 计入玩家当天的屏幕使用总量。若某个时段在家长设定的时区内跨越午夜,则会拆分到两个日期,使每天的总量都反映当天实际发生的使用。 各事件独立处理。响应中包含每个事件的状态: * `accepted` - 时段已记录并计入当天总量。重复提交 `id` 已被接受的事件是安全的空操作:它会再次计为 `accepted`,不会被重复计入,因此网络故障后的重试不会重复累计。 * `rejected` - 时段未通过校验;`reason` 指明违反了哪条规则。 若会话不存在或已被撤销,则整批请求被拒绝。 实时限制信号(`Screentime.LimitWarning`、`Screentime.LimitReached`、`Screentime.BreakReminder`)不会由本接口触发。若集成需要在越过阈值的那一刻触发这些 webhook,请使用 `/screentime/start` 与 `/screentime/end`。