본문으로 건너뛰기

스크린 타임

스크린 타임은 부모가 자녀의 연결된 앱 사용 시간과 사용 가능한 시간대를 정할 수 있게 하는 기능입니다. 규칙은 각 앱에서 따로 구현하는 것이 아니라 k-ID에 보관되므로, 부모가 제품에 대해 평일 한도를 한 번 설정하면 자녀의 그 제품 사용에 적용됩니다. 사용 시간은 세션별이 아니라 자녀별로 하루 단위로 집계되므로, 앱을 닫았다가 다시 열어도 오늘의 합계는 초기화되지 않습니다.

제품이 할 일은 두 가지입니다. 플레이어가 제품을 사용하고 있음을 보고하는 것, 그리고 k-ID가 반환하는 판정을 따르는 것입니다. 규칙 보관, 사용 시간 집계, 일정 평가, 현재 판정 통보는 k-ID가 담당합니다.

부모가 설정할 수 있는 것

부모는 Family Connect에서 자녀의 스크린 타임을 설정합니다. 일정에는 세 가지 규칙이 있으며, 어느 것도 설정하지 않을 수 있습니다.

  • 일일 한도: 요일별 상한(분)입니다. 항목이 없는 요일에는 한도가 없습니다. 0분으로 설정된 요일에는 전혀 사용할 수 없습니다. 이를 통해 부모는 평일에는 두 시간, 주말에는 세 시간과 같이 설정할 수 있습니다.
  • 조용한 시간: 시작 시각, 종료 시각, 적용 요일을 가진 이름이 붙은 시간대입니다. 예를 들어 평일 21:00부터 07:00까지의 취침 시간입니다. 조용한 시간은 예산이 아니라 달력입니다. 그날 얼마나 사용했는지와 무관하게 설정된 시각에 적용됩니다.
  • 휴식 알림: 하나의 세션을 계속하는 자녀에게 휴식을 권할 때까지의 간격입니다.

모든 일정에는 시간대가 있습니다. 시각, 요일, 하루의 초기화는 모두 그 시간대를 기준으로 평가되므로 한도는 UTC 자정이 아니라 현지 시간 자정에 초기화됩니다.

사용 시간 집계 방식

하루 카운터는 세션이 아니라 자녀와 제품에 연결됩니다. 제품별, 자녀별, 현지 날짜별로 하나의 카운터입니다. 그래서 하루 동안 여러 번 멈추고 다시 시작해도 한도가 유지되며, 플레이어가 앱을 닫고 다시 열어도 오늘의 합계가 남습니다.

이것이 동작하려면 플레이어가 이미 보유한 세션으로 연결되어야 합니다. 세션에서 받은 kuid를 저장하고, 기기마다 새 세션을 열지 말고 그 kuid를 다시 사용하세요. 세션을 참조하세요.

책임의 경계

k-ID는 사용 시간을 추적하고 일정을 평가하고 판정을 보고합니다. 제품에서 제한이 어떤 형태로 나타날지는 제품이 결정합니다.

k-ID는 플레이어를 차단하거나 세션을 종료하거나 로그아웃시키거나 UI를 지정하지 않습니다. 한도에 도달하면 k-ID는 도달했다는 사실과 해제되는 시각을 알려줍니다. 그것이 전체 화면 차단인지, 읽기 전용 모드인지, 체크포인트 저장인지, 부드러운 안내인지는 제품의 결정입니다.

콘텐츠는 스크린 타임의 범위 밖입니다. 스크린 타임이 다루는 것은 얼마나 오래와 언제이며, 무엇을 하는지는 아닙니다.

한도에 도달하기 전의 경고

활동 중간에 갑자기 중단된 자녀는 작업을 잃고 아무것도 배우지 못합니다. 그래서 스크린 타임의 모든 한도에는 그것이 적용되기 전에 도착하는 신호가 있습니다.

이전적용 시점
15분 및 5분이 남은 시점의 Screentime.LimitWarning일일 한도가 적용될 때의 Screentime.LimitReached
시간대 시작 15분 전의 Screentime.QuietHoursWarning시간대가 시작될 때의 Screentime.QuietHoursReached

각 쌍을 하나의 동작으로 다루세요. 경고는 플레이어에게 알리고 저장 지점에 도달할 기회를 주는 지점입니다. 두 번째 이벤트는 규칙이 적용되는 지점입니다. 두 번째 이벤트만 처리하는 것은 API 요구사항은 충족하더라도 설계 의도를 무너뜨립니다.

경고는 플레이어가 아직 세션 중일 때 발생하는데, 이는 제품이 세션의 시작과 종료를 그때그때 보고하는 경우에만 가능합니다. 그것이 어떤 수집 방식을 선택할지에 영향을 주는 이유는 사용 시간 보고를 참조하세요.

부모에게 추가 시간 요청하기

한도에 도달한 자녀는 막힌 상태로 있는 대신 요청할 수 있습니다. 제품은 /screentime/request-override로 요청을 보내고, k-ID가 부모에게 알리고, 부모가 Family Connect에서 승인하거나 거부합니다.

결과는 Screentime.OverrideResultgranted, denied, expired 중 하나의 상태와 함께 도착합니다. 부모가 답변하지 않은 요청은 24시간 후에 만료되며, 이는 실패가 아니라 정상적인 결과입니다. 승인은 오늘의 한도를 올리는 것이며 일정을 없애거나 변경하는 것이 아닙니다.

스크린 타임과 활동

스크린 타임은 사용 시간을 세는 기능이고, 사용 시간은 제품이 k-ID에 보고하는 활동의 한 종류입니다. 진행 중인 스크린 타임 세션을 종료하면 그 시간이 활동으로 기록되므로, 부모가 Family Connect에서 보는 사용 현황에도 반영됩니다. 두 기능의 설정과 통합은 별개로 진행합니다.

다음 단계