メインコンテンツに移動

スクリーンタイム

スクリーンタイムは、保護者が子どもの連携アプリの利用時間と利用できる時間帯を決められるようにする機能です。ルールは各アプリで作り込むのではなくk-IDに保持されるため、保護者がプロダクトに対して平日の制限を一度設定すれば、そのプロダクトの利用に対して適用されます。利用時間はセッションごとではなく子どもごとに1日単位で集計されるため、アプリを閉じて開き直しても当日の合計はリセットされません。

プロダクトが行うことは2つです。プレイヤーがプロダクトを利用していることを報告すること、そしてk-IDが返す判定に従うことです。ルールの保持、利用時間の集計、スケジュールの評価、そして現時点の判定の通知は、k-IDが行います。

保護者が設定できる内容

保護者はFamily Connectで子どものスクリーンタイムを設定します。スケジュールには3種類のルールがあり、いずれも設定しないこともできます。

  • 1日の制限:曜日ごとの上限(分)。エントリがない曜日には制限がありません。0分に設定された曜日はまったく利用できません。これにより保護者は、平日は2時間、週末は3時間といった設定ができます。
  • 静かな時間:開始時刻、終了時刻、適用される曜日を持つ名前付きの時間帯です。たとえば平日の21:00から07:00までの就寝時間などです。静かな時間は予算ではなくカレンダーです。その日の利用時間の長さに関係なく、設定された時刻に適用されます。
  • 休憩リマインダー:1回のセッションを継続しているプレイヤーに休憩を促すまでの間隔です。

すべてのスケジュールはタイムゾーンを持ちます。時刻、曜日、1日のリセットはすべてそのタイムゾーンで評価されるため、制限はUTCの深夜ではなく現地時間の深夜にリセットされます。

利用時間の集計方法

1日のカウンターはセッションではなく、子どもとプロダクトに紐づいています。プロダクトごと、子どもごと、現地時間の日付ごとに1つのカウンターです。これにより1日のうちに何度中断して再開しても制限が維持され、プレイヤーがアプリを閉じて開き直しても当日の合計が残ります。

そのためには、プレイヤーがすでに保持しているセッションに解決される必要があります。セッションから取得したkuidを保存し、デバイスごとに新しいセッションを開くのではなく、そのkuidを再利用してください。セッションを参照してください。

責任の境界

k-IDは利用時間を追跡し、スケジュールを評価し、判定を報告します。プロダクトにおける制御の形を決めるのはプロダクト側です。

k-IDがプレイヤーをブロックしたり、セッションを終了したり、サインアウトさせたり、UIを指定したりすることはありません。制限に達したとき、k-IDはそれが達したことと解除される時刻を通知します。それが全画面のブロックなのか、読み取り専用モードなのか、チェックポイントの保存なのか、穏やかな通知なのかは、プロダクトの判断です。

コンテンツはスクリーンタイムの対象外です。スクリーンタイムが扱うのは、どれだけの時間といつであり、何をするかではありません。

制限に達する前の警告

アクティビティの途中で中断された子どもは、作業を失い、何も学びません。そのためスクリーンタイムのすべての制限には、それが適用される前に届くシグナルがあります。

適用時
残り15分と残り5分の時点でScreentime.LimitWarning1日の制限が適用されたときにScreentime.LimitReached
時間帯の15分前にScreentime.QuietHoursWarning時間帯が開始したときにScreentime.QuietHoursReached

それぞれの組を1つの動作として扱ってください。警告はプレイヤーに知らせ、セーブポイントに到達する機会を与える場面です。2番目のイベントはルールが適用される場面です。2番目のイベントだけを処理することは、APIの要件は満たしても設計意図を損ないます。

警告はプレイヤーがまだセッション中に発行されますが、それが可能なのはプロダクトがセッションの開始と終了をその都度報告している場合だけです。それがどの取り込み方法を選ぶかに影響する理由は、利用時間の報告を参照してください。

保護者への延長リクエスト

制限に達した子どもは、行き詰まる代わりにリクエストを送れます。プロダクトは/screentime/request-overrideでリクエストを送信し、k-IDが保護者に通知し、保護者がFamily Connectで承認または拒否します。

結果はScreentime.OverrideResultとして、granteddeniedexpiredのいずれかのステータスで届きます。保護者が回答しなかったリクエストは24時間後に有効期限切れとなります。これは失敗ではなく通常の結果です。承認は本日の制限を引き上げるものであり、スケジュールを解除したり変更したりするものではありません。

スクリーンタイムとアクティビティ

スクリーンタイムは利用時間を数えるものであり、利用時間はプロダクトがk-IDに報告するアクティビティの一種です。進行中のスクリーンタイムのセッションを終了するとその時間がアクティビティとして記録されるため、保護者がFamily Connectで見る利用状況にも反映されます。2つの機能の設定と統合は別々に行います。

次のステップ