연령 게이트
연령 게이트는 연령 제한 콘텐츠, 기능 또는 서비스에 대한 액세스를 허용하기 전에 사용자의 연령을 수집하고 확인하는 데 사용되는 메커니즘입니다. k-ID API는 연령 게이트를 관리하고 플레이어의 연령과 관할권을 기반으로 필요한 작업을 결정하는 엔드포인트를 제공합니다.
연령 슬라이더, 날짜 선택기, 동의 흐름 및 접근성에 대한 디자인 권장 사항은 UX 가이드라인을 참조하세요.
연령 게이트 요구 사항 가져오기
플레이어의 관할권으로 /age-gate/get-requirements를 호출하여 다음을 결정합니다:
- 연령 게이트를 표시해야 하는지 여부(
shouldDisplay) - 승인된 연령 수집 방법(
approvedAgeCollectionMethods) - 연령 임계값:
digitalConsentAge: 플레이어가 디지털 동의를 제공할 수 있는 최소 연령civilAge: 플레이어가 법적 성인으로 간주되는 민사/계약 연령minimumAge: 플랫폼/게임에 액세스하는 데 필요한 최소 연령
- 연령 보증이 필요한지 여부(
ageAssuranceRequired)
요청 예시
GET /api/v1/age-gate/get-requirements?jurisdiction=US-CA
Authorization: Bearer your-api-key
응답 예시
{
"shouldDisplay": true,
"ageAssuranceRequired": true,
"digitalConsentAge": 13,
"civilAge": 18,
"minimumAge": 0,
"approvedAgeCollectionMethods": [
"date-of-birth",
"age-slider",
"platform-account"
]
}
액세스를 위한 연령 확인
플레이어의 연령을 수집한 후 생년월일과 관할권으로 /age-gate/check를 호출하여 다음 단계를 결정합니다:
PROHIBITED: 플레이어의 연령이 게임의 최소 연령 미만입니다. 플레이어는 계속 진행하는 것이 차단되어야 합니다.CHALLENGE: 플레이어의 연령이 Verifiable Parental Consent를 요구합니다. Challenge가 생성되며 신뢰할 수 있는 성인이 승인해야 합니다.PASS: 플레이어가 게임을 계속할 수 있습니다. 세션이 생성되거나 반환됩니다.
요청 예시
POST /api/v1/age-gate/check
Content-Type: application/json
Authorization: Bearer your-api-key
{
"jurisdiction": "US-CA",
"dateOfBirth": "2015-04-15"
}
CHALLENGE 응답 예시
{
"status": "CHALLENGE",
"challenge": {
"challengeId": "683409f1-2930-4132-89ad-827462eed9af",
"oneTimePassword": "ABC123",
"type": "CHALLENGE_PARENTAL_CONSENT",
"url": "https://family.k-id.com/authorize?otp=ABC123"
}
}
PASS 응답 예시
{
"status": "PASS",
"session": {
"sessionId": "608616da-4fd2-4742-82bf-ec1d4ffd8187",
"ageStatus": "LEGAL_ADULT",
"dateOfBirth": "2005-04-15",
"jurisdiction": "US-CA",
"permissions": [...],
"status": "ACTIVE"
}
}
플랫폼 연령 카테고리 API 사용
일부 플랫폼은 특정 연령이나 생년월일이 아닌 연령 카테고리를 반환하는 API를 제공합니다. 예를 들어 Meta Horizon은 GetAgeCategory API를 제공하며 CH(아동, 10-12세), TN(청소년, 13-17세) 또는 AD(성인, 18세 이상)과 같은 카테고리를 반환합니다.
플랫폼의 연령 카테고리 API를 사용할 때는 카테고리를 플레이어의 관할권에 대한 연령 범위로 변환한 다음 해당 연령 범위를 k-ID의 연령 게이트 시스템에서 사용해야 합니다.
예시: Meta Horizon의 GetAgeCategory API 사용
다음은 Meta Horizon의 연령 카테고리 API를 k-ID와 통합하는 방법에 대한 완전한 예시입니다:
- Meta Horizon에서 연령 카테고리 가져오기
// Meta Horizon Unity SDK 예시
var ageCategory = PlatformService.GetAgeCategory();
// 반환: "CH"(아동, 10-12세), "TN"(청소년, 13-17세) 또는 "AD"(성인, 18세 이상)
- 카테고리를 연령 범위로 변환
POST /api/v1/age-gate/get-platform-age-range
Content-Type: application/json
Authorization: Bearer your-api-key
{
"jurisdiction": "US-CA",
"platform": {
"name": "meta-horizon",
"category": "TN"
}
}
응답:
{
"ageLow": 13,
"ageHigh": 17
}
- 연령 게이트 확인에서 최소 연령 사용
ageLow 값(이 예시에서는 13)을 /age-gate/check를 호출할 때 age 매개변수로 사용합니다:
POST /api/v1/age-gate/check
Content-Type: application/json
Authorization: Bearer your-api-key
{
"jurisdiction": "US-CA",
"age": 13
}
이를 통해 플랫폼의 확인된 연령 카테고리가 관할권별 요구사항을 유지하면서 k-ID의 연령 게이트 시스템에서 사용할 수 있는 특정 연령 값으로 적절히 변환됩니다.
생년월일 형식
생년월일 형식 및 요구 사항에 대한 정보는 핵심 개념 섹션의 연령 게이트를 참조하세요.
기본 권한
/age-gate/get-requirements가 shouldDisplay = false로 응답하는 경우 연령 게이트를 표시하지 않아야 하며 플레이어의 생년월일이 정의되지 않습니다. 이 경우 게임은 여전히 /age-gate/get-default-permissions를 호출하여 관할권에 대한 기본 권한을 검색하여 Session을 생성합니다. 이는 이 관할권에서 권한이 연령에 따라 다르지 않음을 의미합니다. 게임의 일부 기능은 관할권에 따라 모든 연령대의 청중에게 금지될 수 있으므로 게임은 여전히 Session 권한을 참조하여 기능을 활성화할 수 있는지 확인해야 합니다.