Screentime.OverrideResult
スクリーンタイムの延長リクエストが解決したときに発行されます。保護者が承認した、保護者が拒否した、または回答がないまま有効期限が切れた、のいずれかです。これは/screentime/request-overrideの呼び出しに対する回答であり、プロダクトが結果を知る唯一の手段です。
k-IDはScreentime.OverrideResultを、購読しているエンドポイントにのみ配信します。それ以外には配信の試行もエラーもなく破棄されます。プロダクトのDeveloper Settingsページで、エンドポイントに対して選択してください。始める前にを参照してください。
1件のリクエストに対してScreentime.OverrideResultはちょうど1回発行されます。data.idでリクエストと対応付けてください。これは/screentime/request-overrideが返したidです。
フィールド
| フィールド | タイプ | 必須 | 説明 |
|---|---|---|---|
eventType | string | はい | 常に"Screentime.OverrideResult" |
data | object | はい | 延長結果のデータ |
data.id | string (UUID) | はい | 延長リクエストのID。/screentime/request-overrideが返したidと一致します |
data.sessionId | string (UUID) | はい | 延長がリクエストされたセッションID |
data.productId | number | はい | プロダクトID |
data.status | string | はい | granted、denied、またはexpired |
data.state | object | はい | 決定後のスクリーンタイムの状態。GET /screentime/get-stateのレスポンスと同じ形です |
例
{
"eventType": "Screentime.OverrideResult",
"data": {
"id": "2e9b7c41-8d6a-4f23-bc15-3a8e9d0f1b62",
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 42,
"status": "granted",
"state": {
"enabled": true,
"access": {
"allowed": true
},
"state": {
"timeUsedTodayMinutes": 120,
"continuousUsageMinutes": 45,
"timeLimitTodayMinutes": 150,
"timeRemainingTodayMinutes": 30,
"dayResetsAt": "2026-06-25T00:00:00Z"
},
"schedule": {
"timezone": "UTC",
"breakReminderIntervalMinutes": 45,
"dailyLimits": [
{ "day": "mon", "limitMinutes": 120 },
{ "day": "sat", "limitMinutes": 180 }
],
"quietHours": [
{
"name": "Bedtime",
"days": ["mon", "tue", "wed", "thu", "fri"],
"start": "21:00",
"end": "07:00"
}
]
}
}
}
}
拒否された結果も同じ形で、ルールは変更されていません。
{
"eventType": "Screentime.OverrideResult",
"data": {
"id": "2e9b7c41-8d6a-4f23-bc15-3a8e9d0f1b62",
"sessionId": "b1a6482d-5242-4b4a-aa88-3fa52595a672",
"productId": 42,
"status": "denied",
"state": {
"enabled": true,
"access": {
"allowed": false,
"details": {
"reason": "limit_reached",
"resumesAt": "2026-06-25T00:00:00Z"
}
},
"state": {
"timeUsedTodayMinutes": 120,
"continuousUsageMinutes": 45,
"timeLimitTodayMinutes": 120,
"timeRemainingTodayMinutes": 0,
"dayResetsAt": "2026-06-25T00:00:00Z"
}
}
}
}
ステータス
status | 意味 |
|---|---|
granted | 保護者がリクエストを承認しました。本日の許容時間に追加の分数が加算されています。 |
denied | 保護者がリクエストを拒否しました。本日のルールは変更されていません。 |
expired | リクエストから24時間以内に保護者が回答しませんでした。本日のルールは変更されていません。 |
expiredはエラーではなく、配信の失敗でもありません。有効期限が切れた後、プレイヤーは改めてリクエストを送信できます。
状態はペイロードに含まれます
data.stateにはGET /screentime/get-stateのレスポンスと同じ形の内容が入り、決定が適用された後の状態が計算されています。プレイヤーが再びプレイできるかどうかを知るために追加の取得は不要です。state.access.allowedを読み、承認の場合は引き上げられたstate.state.timeLimitTodayMinutesとstate.state.timeRemainingTodayMinutesを読んでください。
延長が承認されると本日の制限が引き上げられるため、以降のイベントなしにaccess.allowedがtrueに戻ることがあります。プレイヤーが追加の時間を使い切って引き上げ後の制限に達しても、2度目のScreentime.LimitReachedは発行されません。このイベントはプレイヤーごとに1日最大1回しか発行されないためです。