Screentime.ScheduleChanged
부모가 Family Connect에서 플레이어의 스크린 타임 규칙을 변경할 때 발생합니다. 대상은 일일 한도, 조용한 시간대, 휴식 알림 간격입니다.
k-ID는 Screentime.ScheduleChanged를 구독한 엔드포인트에만 전달하고, 나머지에는 전달 시도나 오류 없이 버립니다. 제품의 Developer Settings 페이지에서 엔드포인트에 대해 선택하세요. 시작하기 전에를 참조하세요.
페이로드에는 의도적으로 규칙이 담기지 않습니다. 이것은 차이(diff)가 아니라 캐시 무효화 힌트입니다. 이 이벤트를 받으면 해당 세션에 대해 GET /screentime/get-state를 호출하고 보관하던 상태를 교체하세요. 그러면 규칙의 단일 진실 공급원이 유지되고 부분 업데이트를 병합할 필요가 없습니다.
플레이어가 이미 제품을 사용하는 중에 부모의 변경이 적용되게 하는 것은 이 이벤트를 처리함으로써 이루어집니다. 처리하지 않으면 새 취침 시간이나 올라간 한도는 플레이어의 다음 세션까지 제품에서 보이지 않습니다.
필드
| 필드 | 유형 | 필수 | 설명 |
|---|---|---|---|
eventType | string | 예 | 항상 "Screentime.ScheduleChanged" |
data | object | 예 | 일정 변경 데이터 |
data.sessionId | string (UUID) | 예 | 일정이 변경된 세션 ID |
data.productId | number | 예 | 제품 ID |
예시
{
"eventType": "Screentime.ScheduleChanged",
"data": {
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 42
}
}
발생하지 않는 경우
이 이벤트는 세션을 대상으로 전달되므로, 플레이어가 제품에 유효한 세션을 가지고 있지 않으면 건너뜁니다. 플레이어가 한 번도 플레이하지 않은 상태에서 부모가 일정을 설정하면 이벤트는 전송되지 않습니다. 이 경우 제품은 첫 세션이 시작될 때 GET /screentime/get-state에서 규칙을 가져옵니다.
한 번의 일정 변경으로 발생하는 이벤트는 최대 하나입니다. 일정은 하나의 제품에 속한 한 명의 플레이어에 대한 것이며, k-ID는 그 조합에 해당하는 유효한 세션 하나만 찾아 알립니다. 따라서 제품별로 여러 건이 퍼져 나가는 일은 없습니다. 유효한 세션이 없으면 이벤트는 전혀 전송되지 않습니다.