Endpoints屏幕使用时间

获取屏幕使用时间状态

返回 `sessionId` 当前的屏幕使用时间状态:家长设定的规则、当天的使用量,以及此刻平台是否可以允许游玩。平台会在会话开始时,以及收到 `Screentime.LimitWarning`、`Screentime.LimitReached`、`Screentime.QuietHoursWarning` 或 `Screentime.QuietHoursReached` webhook 后调用本接口,以刷新自身保存的状态。 当家长尚未为该会话配置屏幕使用时间,或已配置但停用了限制执行时,返回 `{ "enabled": false }`。

GET
/screentime/get-state
AuthorizationBearer <token>

In: header

Query Parameters

sessionId*string
Formatuuid

Response 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"      }    ]  }}

结束屏幕使用时间 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`。