본문으로 건너뛰기

연령 게이트

연령 게이트는 연령 제한 콘텐츠, 기능 또는 서비스에 대한 액세스를 허용하기 전에 사용자의 연령을 수집하고 확인하는 데 사용되는 메커니즘입니다. k-ID API는 연령 게이트를 관리하고 플레이어의 연령과 관할권을 기반으로 필요한 작업을 결정하는 엔드포인트를 제공합니다.

커스텀 연령 게이트 UI를 구축하고 계신가요?

연령 슬라이더, 날짜 선택기, 동의 흐름 및 접근성에 대한 디자인 권장 사항은 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와 통합하는 방법에 대한 완전한 예시입니다:

  1. Meta Horizon에서 연령 카테고리 가져오기
// Meta Horizon Unity SDK 예시
var ageCategory = PlatformService.GetAgeCategory();
// 반환: "CH"(아동, 10-12세), "TN"(청소년, 13-17세) 또는 "AD"(성인, 18세 이상)
  1. 카테고리를 연령 범위로 변환
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
}
  1. 연령 게이트 확인에서 최소 연령 사용

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-requirementsshouldDisplay = false로 응답하는 경우 연령 게이트를 표시하지 않아야 하며 플레이어의 생년월일이 정의되지 않습니다. 이 경우 게임은 여전히 /age-gate/get-default-permissions를 호출하여 관할권에 대한 기본 권한을 검색하여 Session을 생성합니다. 이는 이 관할권에서 권한이 연령에 따라 다르지 않음을 의미합니다. 게임의 일부 기능은 관할권에 따라 모든 연령대의 청중에게 금지될 수 있으므로 게임은 여전히 Session 권한을 참조하여 기능을 활성화할 수 있는지 확인해야 합니다.