Screentime.LimitReached
플레이어의 사용 시간이 오늘의 스크린 타임 일일 한도에 도달하거나 이를 초과했을 때 발생합니다. 한도가 적용되는 시점이 아니라 그 전에 플레이어에게 알리기 위해 더 이르게 발생하는 Screentime.LimitWarning과 한 쌍입니다.
k-ID는 Screentime.LimitReached를 구독한 엔드포인트에만 전달하고, 나머지에는 전달 시도나 오류 없이 버립니다. 제품의 Developer Settings 페이지에서 엔드포인트에 대해 선택하세요. 시작하기 전에를 참조하세요.
k-ID는 세션을 종료하거나 플레이어를 로그아웃시키거나 무엇도 차단하지 않습니다. 한도가 적용되었다는 사실을 보고할 뿐입니다. 그것이 제품에서 무엇을 의미하는지는 제품이 결정하며, 참조할 엔드포인트는 GET /screentime/get-state입니다. access.allowed가 false이고 access.details.reason이 limit_reached이면 access.details.resumesAt이 제한이 해제되는 시각을 알려줍니다.
이 시점에 플레이어에게 /screentime/request-override를 제시해, 막힌 상태로 두지 않고 부모에게 추가 시간을 요청할 수 있게 하세요. 부모의 답변은 Screentime.OverrideResult로 도착합니다.
/screentime/push에서는 발생하지 않습니다다른 실시간 신호와 마찬가지로 이 이벤트는 /screentime/start에서 예약되고 /screentime/end에서 취소됩니다. /screentime/push는 사용 시간을 합계에 반영하지만 한도 관련 이벤트는 발생시키지 않습니다.
필드
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
eventType | string | 예 | 항상 "Screentime.LimitReached" |
data | object | 예 | 한도 도달 데이터 |
data.sessionId | string (UUID) | 예 | 한도가 적용되는 세션 ID |
data.productId | number | 예 | 제품 ID |
data.timeUsedSeconds | number | 예 | 진행 중인 세션의 시간을 포함한 오늘의 사용 시간(초) |
data.timeLimitSeconds | number | 예 | 오늘의 일일 한도(초) |
timeUsedSeconds는 이벤트가 발생하는 시점에 측정되므로 timeLimitSeconds를 약간 초과할 수 있습니다.
예시
{
"eventType": "Screentime.LimitReached",
"data": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 42,
"timeUsedSeconds": 7200,
"timeLimitSeconds": 7200
}
}
발생하지 않는 경우
- 부모가 스크린 타임 일정을 설정하지 않았거나 일정이 비활성화되어 있습니다.
- 일정의 시간대 기준 오늘 요일에 일일 한도가 설정되어 있지 않습니다.
- 오늘 이미 한도에 도달했습니다.