이 페이지에서 찾을 수 없는 질문이 있으면 지원 문의 페이지의 연락처 정보를 사용하여 문의하세요.
이 페이지는 자주 묻는 질문이 접수되는 대로 업데이트될 수 있습니다.
일반
이 섹션에는 특정 카테고리에 해당하지 않는 질문이 포함되어 있습니다.
YouTube 환경에서 게임을 테스트할 수 있나요?
예 - 개발자 포털을 사용하고 테스트 안내를 따릅니다.
게임이 Android 또는 SDK 테스트 모음에서 렌더링되지 않습니다. 어떻게 해야 하나요?
게임이 Android 또는 SDK 테스트 모음에서만 렌더링되지 않는 경우 WebView에서 게임이 로드되는 방식이 원인인 경우가 많습니다. 성능상의 이유로 게임은 처음에 사용자에게 표시되지 않는 WebView에 로드되므로 WebView 표시 영역 크기가 0이 됩니다. 이 문제를 해결하려면 다음 솔루션을 사용하는 것이 좋습니다.
(1) 표시 영역 크기와 관계없이 게임 코드가 실행되는지 확인합니다.
(2) 게임 코드가 표시 영역 크기 조절을 처리하고 표시 영역 크기가 0일 때 게임 코드가 대기하거나 실패하지 않는지 확인합니다.
창 이벤트 resize를 수신 대기하고 window.innerHeight가 0이 아닌 경우에만 게임 높이를 설정하는 것이 좋습니다.
기술 요구사항
이 섹션에는 YouTube 게임 룸 기술 요구사항과 관련된 질문이 포함되어 있습니다.
개별 파일 크기 한도에 대한 예외를 적용받을 수 있나요?
아니요. 개별 파일 크기는 엄격한 제한입니다.
초기 번들 크기는 어떻게 측정되나요?
초기 번들 크기는 gameReady 이벤트가 호출될 때까지 Playable에서 다운로드한 총 바이트 수로 측정됩니다.
게임 룸은 가능한 경우 HTTP 압축을 사용합니다. 즉, 초기 번들 크기가 애셋의 총 원시 크기보다 작을 수 있습니다. SDK 테스트 도구 모음에서 초기 번들 크기를 테스트할 때 로컬 호스트가 애셋을 압축하지 않으면 플레이어블이 게시된 후보다 크기가 커질 수 있습니다. 게임 가능한 광고에 제공되는 실제 초기 번들 크기를 확인하려면 업로드된 빌드의 index.html 파일을 가리키는 SDK 테스트 모음을 사용하거나 로컬 서버 설정을 수정하여 gzip 압축을 사용 설정하세요.
개별 파일 또는 총 번들 크기 한도에 도달했거나 초과했습니다. 어떻게 해야 하나요?
게임을 최적화하고 성능을 개선하려면 다음 도움말을 참고하세요.
총 번들 크기 제한을 맞출 수 없는 경우 어떻게 해야 하나요?
사용자가 게임을 플레이할 때마다 게임에서 애셋을 다운로드해야 할 수 있습니다. 긴 로드 시간과 대량의 데이터 사용을 방지하려면 게임의 총 번들 크기를 최대한 작게 유지하는 것이 좋습니다.
게임에서는 사용자가 진행함에 따라 각 플레이 세션 중에 지연 로드 또는 다른 유형의 증분 애셋 로드를 활용하거나, 애셋을 레벨별로 분할하여 긴 세션 동안 소량의 애셋을 분산하여 다운로드할 수 있도록 하는 것이 좋습니다. 이러한 상황에서는 총 번들 크기가 더 크더라도 사용자 환경이 저하되지 않을 수 있으며, 실제로 사용자당 사용 공간이 더 적은 게임에서 더 많은 콘텐츠를 사용 설정하여 더 나은 사용자 환경을 만들 수 있습니다. 게임이 이 방식으로 작동하고 총 번들 크기가 더 커야 한다고 생각되면 지원 문의 페이지를 사용하여 사용 사례를 논의하세요.
내부 분석을 외부 호출 요구사항에서 제외할 수 있나요?
아니요. 현재 게임 룸은 외부 호출을 해서는 안 됩니다. 이 분야의 향후 기능에 우선순위를 지정할 수 있도록 관심 있는 분석 유형을 파트너 관리자에게 알려주세요.
게임이 원격 데이터베이스에서 데이터와 레벨을 가져옵니다. 허용되나요?
현재는 불가능하지만 일부 게임을 대상으로 원격 데이터 액세스를 시범 운영하고 있습니다. 현재는 모든 게임 데이터를 게임 번들의 일부로 포함해야 합니다. 게임 애셋이나 콘텐츠를 업데이트하거나 새로고침하려면 지원 문의 페이지의 연락처 정보를 사용하여 새로고침된 게임 번들을 제출하거나 파일럿 프로그램에 참여하고 싶다면 추가 문의를 하세요.
인라인 스크립트 실행에 대한 '콘텐츠 보안 정책' 위반 오류가 표시됩니다.
이는 자바스크립트를 사용하여 <script> 태그를 만들고 페이지에 추가할 때 발생합니다. 보안을 위해 YouTube는 스크립트에 'nonce'라는 특수 보안 코드가 필요한 콘텐츠 보안 정책(CSP)을 사용합니다. YouTube는 이 코드를 HTML 파일의 스크립트에 자동으로 추가하지만, 코드로 만드는 스크립트에는 수동으로 추가해야 합니다.
JavaScript를 사용하여 프로그래매틱 방식으로 스크립트 태그를 생성할 때는 페이지에서 nonce를 찾아 새 스크립트 요소에 적용해야 합니다.
예:
const script = document.createElement('script');
script.src = '...';
// Find the nonce from the main page and apply it
script.nonce = document.querySelector('script[nonce]')?.nonce;
document.head.appendChild(script);
테스트 모음 안내에 지정된 가이드라인을 사용하여 오프라인 구성을 테스트할 수 있습니다.
SDK 통합
이 섹션에는 Playables SDK API와 관련된 질문이 포함되어 있습니다.
오디오 통합 문제로 인해 인증에 실패했습니다. 무엇을 수정해야 하나요?
가장 일반적인 오디오 문제는 재생을 시작하기 전에 사용자 상호작용을 예상하는 게임과 관련이 있습니다. 하지만 YouTube 게임 룸에 자동으로 포커스가 지정될 수 있으므로 게임에서 이 케이스를 처리해야 합니다.
오디오 설정 예는 샘플을 참고하세요.
Unity
이 섹션에는 기존 Unity 게임을 YouTube 게임 룸 SDK와 통합하는 것과 관련된 질문이 포함되어 있습니다. SDK 및 Unity 래퍼를 사용하는 방법의 예는 YouTube 게임 룸 Unity 래퍼 문서를 참고하세요.
Unity 사전 압축을 사용할 수 있나요?
애셋을 미리 압축하지 않는 것이 좋습니다. 초기 번들 크기 요구사항은 압축 후 크기를 사용하며 업로드된 파일은 수집 후 압축이 적용됩니다. 여전히 파일을 사전 압축해야 하는 경우 이 섹션의 나머지 부분을 참조하거나 지원 문의 페이지에서 지원팀에 문의하여 게임에 가장 적합한 옵션을 논의하세요.
일부 게임은 Unity의 .wasm 또는 .data 파일에 사전 압축을 사용해야 합니다.
다음 조건에서만 사전 압축을 사용하세요. 로드 시간이 훨씬 느려질 수 있습니다.
- 개별 파일 크기 또는 총 번들 크기 요구사항을 충족하기 위해 Unity 사전 압축을 사용해야 하는 경우 '개별 파일 또는 총 번들 크기 한도에 도달했거나 초과했습니다. 어떻게 해야 하나요?'를 참고하세요.
- 게임이 인증을 통과하기 위해 Unity 사전 압축을 사용해야 하는 경우 다음 요구사항을 충족해야 합니다.
- zip 사전 압축을 사용해야 합니다(MUST).
- 로더 스크립트 내에서 파일을 수동으로 압축 해제해야 합니다(MUST). Compression Streams API를 사용하는 것이 좋습니다.
이러한 추가 요구사항은 서빙 아키텍처의 제한사항으로 인해 발생합니다. 현재 추가 HTTP 헤더 또는 Brotli 압축은 지원되지 않습니다.
게임이 백그라운드에서 실행 중일 때 프레임 업데이트를 관리하려면 어떻게 해야 하나요?
setTimeout를 사용하여 게임이 백그라운드에 있을 때 프레임 업데이트를 관리할 수 있습니다.
이렇게 하면 오디오 일시중지와 같은 동작을 제어할 수 있습니다. 플레이어 설정에서 'Run in Background' 옵션을 사용 설정하여 백그라운드 프레임 관리를 확인할 수 있습니다.
Unity 게임의 메모리 제한사항
Unity의 일부 게임은 상당한 양의 메모리를 사용하므로 플레이 가능 게임의 메모리 사용량 제한을 초과할 수 있습니다. Unity WebGL의 메모리에 관한 개발 문서를 따르는 것이 좋습니다.