기술 요구 사항
기기 및 브라우저 호환성
우리는 게임이 Chrome과 Edge에서 실행되기를 원합니다. Safari에서 제대로 실행되지 않는 게임은 비활성화됩니다. Jogos의 사용자 중 상당수가 Chromebook을 사용합니다. 게임이 4GB RAM 기기에서 원활하게 실행되지 않으면 Chromium OS 시스템이 이러한 게임을 비활성화합니다. 모바일 기기를 지원하는 경우 게임은 마우스, 키보드 및 터치도 지원해야 합니다. 게임은 데스크톱 기기에서 가로 모드로 실행될 수 있어야 합니다. 우리는 세로/세로 버전 게임의 게시를 허용하며, 특히 모바일 기기에 적합하며, 예를 들어 화면 가장자리에 검은 막대나 배경 이미지를 표시합니다.
H5 게임의 다양한 국가나 지역에서의 호환성을 위해 게임 전체 패키징에 다음과 같은 요구 사항을 두었습니다.
분류 PC용 모바일용 초기 다운로드 패키지 크기 ≤50MB ≤25MB 총 파일 크기 ≤ 500MB ≤ 250MB 파일 수 ≤5000 ≤3000
모바일 게임 요구 사항
모바일 홈페이지에 등록하려면 초기 다운로드 크기가 25MB를 초과할 수 없습니다. 제출 내용에서 지원하는 방향을 구성할 수 있습니다. 웹사이트에서는 게임이 지정된 방향으로만 실행되도록 사용자에게 기기를 회전하도록 요청합니다. 따라서 방향 잠금 논리를 구현할 필요가 없습니다. 예를 들어, 일부 기기(예: 태블릿)에서 게임을 할 때 더블 클릭하거나 길게 누르면 확대 도구가 표시되거나 전체 게임이 선택되고 컨텍스트 메뉴가 표시될 수 있습니다. 조작 불편을 피하려면 body 게임에 다음 CSS를 추가하세요.
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
자주 충돌(메모리 부족으로 인해)이 발생하는 Unity 게임은 iOS 플랫폼에서 기본적으로 비활성화되어 있습니다. 게임이 일정 수준 이상으로 플레이되면 우리 팀이 iOS 플랫폼에서의 성능을 평가하고 이 기능을 활성화할지 여부를 고려합니다.
우리는 Unity 그래픽 품질(기기 픽셀 비율)을 관리하여 사용자에게 양호한 게임 성능을 제공합니다: iOS 기기와 낮은 메모리 Android 기기의 경우 DPR 값을 1로 선택합니다. 이러한 기기는 기본 지원 DPR이 높을 때 충돌이 발생합니다. 다른 기기의 경우 기기에서 지원하는 기본 DPR(window.devicePixelRatio)를 사용합니다. 예외가 필요하다고 판단되면 이 구성을 수동으로 재정의할 수 있습니다.
QA 컨트롤러 설명
Jogos 개발자 QA 품질 검사 도구는 두 가지 완전한 적합성 솔루션을 제공합니다. 게임에 대해 별도로 적합성 작업을 수행할 필요가 없습니다:
- 게임이 원래 모바일 전용으로 가상 버튼과 가상 조이스틱으로만 적합한 경우 "모바일 게임을 PC용 컨트롤로 적합화"를 사용하여 키보드나 마우스 버튼을 구성하여 PC에서 플레이하는 사용자의 제어를 충족시킬 수 있습니다.
- 게임이 원래 PC 전용으로 키보드와 마우스로 제어되는 경우 "PC 게임을 모바일용 컨트롤로 적합화"를 사용하여 적절한 위치에 가상 버튼과 가상 조이스틱을 드래그 앤 드롭하여 PC 키를 매핑하면 모바일에서도 조작할 수 있습니다.
일반 문제 처리
다음 코드 조각은 기본 브라우저 동작으로 인한 많은 사용자 경험 문제를 수정합니다(이러한 문제는 우리의 UnitySDK에서 이미 처리하므로 다른 플랫폼에서는 상황에 따라 자체적으로 사용하세요).
- 불필요한 페이지 스크롤
- 불필요한 키 이벤트
- Samsung 앱에서 가시성 변경
- Unity 캔버스 외부 컨텍스트 메뉴 표시
// 불필요한 페이지 스크롤 비활성화
window.addEventListener('wheel', (event) => event.preventDefault(), {
passive: false,
});
// 불필요한 키 이벤트 및 스페이스바 스크롤 비활성화
window.addEventListener('keydown', (event) => {
if (['ArrowUp', 'ArrowDown', ''].includes(event.key)) {
event.preventDefault();
}
});
// 가시성 변경 처리 수정
// 웹뷰에서 이는 Samsung 앱에 대해 보고된 문제입니다.
document.addEventListener('visibilitychange', () => {
if (document.visibilityState) {
if (document.visibilityState === 'hidden') {
application.publishEvent('OnWebDocumentPause', 'True');
} else if (document.visibilityState === 'visible') {
application.publishEvent('OnWebDocumentPause', 'False');
}
}
});
// 캔버스 외부에서 오른쪽 클릭 후 나타나는 컨텍스트 메뉴 비활성화
document.addEventListener('contextmenu', (event) => event.preventDefault());