본문으로 건너뛰기

다중 제품 승인

다중 제품 승인을 사용하면 단일 동의 흐름에서 여러 제품을 부모에게 승인 요청으로 제시할 수 있습니다. 이를 통해 신뢰할 수 있는 성인 동의 프로세스의 마찰을 줄여 개인정보 보호 규정을 준수하면서 가족이 게임과 서비스에 더 쉽게 액세스할 수 있습니다.

이점

  • 신뢰할 수 있는 성인 마찰 감소: 신뢰할 수 있는 성인이 각 제품에 대해 별도의 동의 흐름을 거치는 대신 여러 제품을 한 번에 승인할 수 있습니다
  • 아동 경험 개선: 아동이 동시에 여러 제품에 액세스하여 대기 시간과 중단된 동의 흐름을 줄입니다
  • 유연한 구성: 플랫폼 아키텍처와 사용자 요구 사항을 기반으로 함께 번들로 묶을 제품 선택
  • 규정 준수 유지: 번들의 모든 제품이 개별 권한 설정과 규제 요구 사항을 유지합니다

multi-product approval

사용 사례

다중 제품 승인은 다음에 이상적입니다:

  • 플랫폼 + 게임: 여러 게임이 의존하는 계정 시스템이나 플랫폼이 있는 경우
  • 게임 컬렉션: 가족이 일반적으로 함께 액세스하려는 여러 관련 게임을 제공하는 경우
  • 계층형 액세스: 동시에 승인할 수 있는 핵심 서비스와 선택적 추가 기능이 있는 경우

구성 옵션

다중 제품 승인을 구현하는 세 가지 방법이 있습니다:

1. 제품 번들링(정적 구성)

Compliance Studio를 통해 동의 흐름에서 자동으로 함께 나타나는 제품을 구성합니다.

구성 방법:

  1. Compliance Studio에서 제품 선택
  2. 구성으로 이동하고 다중 제품 승인 섹션 내에서 편집 클릭
  3. 다중 제품 승인 활성화 옆의 토글 클릭
  4. 현재 제품과 번들로 묶을 제품 선택
  5. 테스트로 푸시 클릭

multi-product approval

신뢰할 수 있는 성인 경험 - 부모가 기본 제품에 대한 동의 요청을 받으면 번들로 묶인 제품이 자동으로 포함되어 표시됩니다. 신뢰할 수 있는 성인은 승인하지 않으려는 번들 제품을 제거할 수 있습니다.

최적 용도: 일반적으로 함께 사용되지만 하드 종속성이 없는 제품

2. 필수 제품(필수 종속성)

제품이 작동하는 데 필요한 다른 제품으로 표시합니다. 이는 일반적으로 제품이 플랫폼이나 계정 시스템에 의존하는 경우 사용됩니다.

구성 방법:

  1. Compliance Studio에서 제품 선택
  2. 구성으로 이동하고 다중 제품 승인 섹션 내에서 편집 클릭
  3. 다중 제품 승인 활성화 옆의 토글 클릭
  4. 필수 제품 아래에서 이 제품과 함께 승인해야 하는 제품 선택
  5. 테스트로 푸시 클릭

신뢰할 수 있는 성인 경험 - 필수 제품은 동의 흐름에서 제거할 수 없습니다. 신뢰할 수 있는 성인은 두 제품을 함께 승인하거나 동의 요청을 완전히 거부해야 합니다.

중요한 제한 사항:

  • 제품은 하나의 필수 제품만 가질 수 있습니다
  • 필수 제품 자체가 다른 필수 제품을 요구할 수 없습니다(연쇄 없음)
  • 편의를 위해서가 아니라 실제 종속성에만 사용하세요

최적 용도: 다른 제품에 대한 액세스 없이는 작동할 수 없는 제품(예: 플랫폼 계정이 필요한 게임)

3. 동적 번들링(API 기반)

API를 사용하여 동의 Challenge를 생성할 때 프로그래밍 방식으로 번들로 묶을 제품을 선택합니다.

사용 방법:

포함하려는 특정 제품 ID로 /challenge/create-bulk API 엔드포인트를 호출합니다:

{
"jurisdiction": "US-CA",
"requestedProductIds": [123, 456, 789],
"kuid": "12b9fa0e-6d6d-4903-a1fc-f2233027b71d"
}

신뢰할 수 있는 성인 경험 - 신뢰할 수 있는 성인은 이 동의 요청에 대해 정의한 특정 제품 번들을 봅니다.

최적 용도:

  • 사용자 동작을 기반으로 한 컨텍스트 번들링
  • 다양한 제품 조합의 A/B 테스트
  • 함께 제공할 제품을 결정하는 복잡한 로직

모범 사례

적절한 접근 방식 선택

  • 번들링 사용: 제품이 자주 함께 사용되지만 기술적 종속성이 없는 경우
  • 필수 제품 사용: 한 제품이 다른 제품 없이는 실제로 작동할 수 없는 경우에만
  • 동적 번들링 사용: 런타임 유연성이나 컨텍스트 제품 선택이 필요한 경우

구성 팁

  1. 간단하게 시작: 필수 제품만으로 시작한 다음 필요에 따라 번들링 추가
  2. 신뢰할 수 있는 성인 여정 고려: 하나의 번들에 너무 많은 제품으로 부모를 압도하지 마세요
  3. 흐름 테스트: 라이브 전에 테스트 모드를 사용하여 부모 경험 확인
  4. 종속성 문서화: 개발 팀을 위해 어떤 제품이 다른 제품에 의존하는지 명확한 기록 유지

권한 고려 사항

여러 제품이 번들로 묶일 때:

  • 신뢰할 수 있는 성인은 모든 제품의 모든 권한의 합집합을 봅니다
  • 각 제품은 자체 권한 구성을 유지합니다
  • 신뢰할 수 있는 성인은 각 제품에 대한 권한을 개별적으로 허용하거나 거부할 수 있습니다
  • 번들로 묶인 제품의 모든 데이터 공개가 함께 제시됩니다

일반적인 패턴

패턴 1: 계정 및 여러 게임

구성:

  • 계정 시스템 제품(필수 제품 없음)
  • 게임 A: 계정 시스템을 필수 제품으로
  • 게임 B: 계정 시스템을 필수 제품으로
  • 게임 C: 계정 시스템을 필수 제품으로

결과 - 모든 게임 승인은 자동으로 계정 시스템 승인을 요구하지만 부모는 한 번에 여러 게임을 승인할 수 있습니다.

계정 시스템 통합 - 여러 게임에 걸친 계정 시스템과 통합할 때 각 게임에 대해 하나의 k-ID 제품을 만들고 계정 시스템 자체에 대해 별도의 k-ID 제품을 만드는 것이 일반적입니다. 이는 모든 게임 또는 계정 자체에 공통되거나 전역적인 권한 및 공개를 나타내는 데 유용합니다.

제품이 계정 시스템에 매핑되면 각 게임에 대해 두 개의 Session 객체가 검색됨을 의미합니다: 하나는 게임에 매핑된 k-ID 제품용이고 다른 하나는 계정 시스템에 매핑된 k-ID 제품용입니다. k-ID API는 API 키로 제품 범위가 지정됩니다. 계정 시스템에 매핑된 k-ID 제품에 액세스하려는지 게임에 매핑된 k-ID 제품에 액세스하려는지에 따라 올바른 API 키를 사용해야 합니다.

VPC용 제품 컨텍스트 - 게임이 모두 플레이하려면 계정이 필요한 경우 계정 생성 프로세스에서 VPC를 트리거할 수 있습니다. 그러나 동의 요청은 부모가 무엇에 동의하는지 알 수 있도록 게임별로 구체적이어야 합니다. k-ID API는 VPC를 트리거할 때 사용되는 API 키를 기반으로 동의 프로세스 중에 부모에게 제시해야 하는 제품을 결정합니다.

실제로 계정 시스템에 k-ID를 통합하려면 계정 설정 시 계정 생성 프로세스를 트리거한 게임을 결정하고 이를 k-ID API 키에 매핑할 수 있어야 합니다.

패턴 2: 선택적 추가 기능이 있는 게임 제품군

구성:

  • 메인 게임: 필수 제품 없음
  • 확장 팩 A: 메인 게임을 필수 제품으로, 메인 게임과 번들로 묶음
  • 확장 팩 B: 메인 게임을 필수 제품으로, 메인 게임과 번들로 묶음

결과 - 신뢰할 수 있는 성인은 하나의 흐름에서 선택적 확장과 함께 메인 게임을 승인할 수 있습니다.

패턴 3: 플랫폼 접근 방식

구성:

  • 플랫폼 제품: 필수 제품 없음
  • 소셜 기능: 플랫폼을 필수로, 플랫폼과 번들로 묶음
  • 프리미엄 콘텐츠: 플랫폼을 필수로, 플랫폼과 번들로 묶음

결과 - 신뢰할 수 있는 성인은 추가 기능을 위한 쉬운 추가 기능과 함께 플랫폼 액세스를 승인합니다.

기술 세부 사항

웹훅 이벤트

웹훅 이벤트 구조에 대한 자세한 내용은 Challenge.StateChange를 참조하세요.

부모가 다중 제품 번들을 승인하면 승인된 각 제품에 대해 별도의 Challenge.StateChange 웹훅 이벤트를 받게 됩니다. 모든 세션은 동일한 kuid(k-ID 사용자 ID)를 공유하므로 동일한 아동과 연결할 수 있습니다.

세션 관리

번들의 각 승인된 제품은 자체 sessionId로 자체 세션을 생성합니다. 다음을 수행해야 합니다:

  • 플레이어의 kuid와 연결된 모든 세션 캐시
  • 각 제품에 대한 권한을 확인할 때 적절한 세션 사용
  • 관련 sessionId 또는 kuid 및 제품 API 키로 /session/get를 사용하여 세션 쿼리

제품 간 세션 액세스를 위한 kuid 사용

k-ID는 신뢰할 수 있는 성인 동의를 받은 모든 플레이어에 대해 kuid(k-ID 사용자 ID)라는 전역 식별자를 노출합니다. kuidSession 객체의 속성으로 반환됩니다. 여러 게임에 걸쳐 계정 시스템과 통합할 때 Sessionkuid가 있으면 계정 시스템의 플레이어 신원과 연결해야 합니다. 이를 통해 올바른 제품에 대한 적절한 API 키를 사용하고 kuid만 매개변수로 제공하여 /session/get를 호출하여 모든 k-ID 제품에 대한 k-ID 세션이 있는 경우 검색할 수 있습니다.

신뢰할 수 있는 성인이 자녀가 하나 이상의 제품을 플레이할 수 있도록 동의를 부여하면 승인된 각 제품에 대해 등록된 웹훅 엔드포인트가 eventTypeChallenge.StateChange로 설정되어 호출됩니다. 각 Session 객체는 플레이어에 대해 동일한 kuid를 가집니다. 웹훅에 대한 자세한 내용은 웹훅을 참조하세요.

여러 제품에 대한 세션 캐싱

계정 시스템과 통합할 때 여러 제품의 세션이 캐시됩니다. Session 객체는 모두 k-ID 제품 ID를 키로 사용하여 계정 시스템의 맵으로 캐시할 수 있습니다. 플레이어가 새 게임을 플레이하려고 시도하면 Session 객체를 포함하는 맵을 제품 ID로 쿼리할 수 있으며, Session이 이미 있는 경우 플레이어는 추가 신뢰할 수 있는 성인 동의 없이 계속할 수 있습니다.

API 엔드포인트

엣지 케이스 및 고려 사항

연령 최소 요구 사항

중요

규칙 - 아동은 번들의 모든 제품에 대한 연령 요구 사항을 충족해야 합니다.

필수 제품이 이를 의존하는 제품보다 더 높은 연령 최소값을 가진 경우 해당 연령 미만의 아동은 두 제품 모두에 대한 액세스가 거부됩니다.

예시:

  • 게임 A: 최소 연령 10세, 계정 시스템을 필수 제품으로 요구
  • 계정 시스템: 최소 연령 13세

결과 - 게임 A의 구성된 최소값이 10세임에도 불구하고 아동은 게임 A에 액세스하려면 최소 13세여야 합니다.

모범 사례 - 종속 제품의 연령 최소값을 필수 제품의 연령 최소값과 같거나 더 높게 설정하세요.

권한 처리

중요

규칙 - 신뢰할 수 있는 성인은 번들로 묶인 모든 제품에서 가장 제한적인 권한 요구 사항을 승인해야 합니다.

제품이 함께 번들로 묶일 때 k-ID는 모든 제품에 걸쳐 각 권한을 평가하고 가장 제한적인 설정을 적용합니다:

  • 권한이 어떤 제품에서 필수인 경우 전체 번들에 대해 필수가 됩니다
  • 권한이 한 제품에서 선택적이지만 다른 제품에서 필수인 경우 필수가 됩니다
  • 신뢰할 수 있는 성인은 동의 흐름을 완료하기 위해 모든 필수 권한을 부여해야 합니다

예시:

  • 게임 A: "음성 채팅"은 선택적(부모가 선택할 수 있음)
  • 계정 시스템(게임 A에 필수): "음성 채팅"은 필수(부모가 승인해야 함)

결과 - 게임 A만으로는 선택적으로 만들었을 것이지만 신뢰할 수 있는 성인은 동의를 부여하기 위해 "음성 채팅"을 승인해야 합니다.

모범 사례:

  • 가능한 경우 종속 제품 간 권한 요구 사항 정렬
  • 부모가 보는 결합된 권한 세트 검토
  • 특정 권한이 플랫폼 수준에서 필요한지 게임 수준에서 필요한지 고려