Skip to content

기술 요구 사항

기기 및 브라우저 호환성

우리는 게임이 Chrome과 Edge에서 실행되기를 원합니다. Safari에서 제대로 실행되지 않는 게임은 비활성화됩니다. Jogos의 사용자 중 상당수가 Chromebook을 사용합니다. 게임이 4GB RAM 기기에서 원활하게 실행되지 않으면 Chromium OS 시스템이 이러한 게임을 비활성화합니다. 모바일 기기를 지원하는 경우 게임은 마우스, 키보드 및 터치도 지원해야 합니다. 게임은 데스크톱 기기에서 가로 모드로 실행될 수 있어야 합니다. 우리는 세로/세로 버전 게임의 게시를 허용하며, 특히 모바일 기기에 적합하며, 예를 들어 화면 가장자리에 검은 막대나 배경 이미지를 표시합니다.

  • H5 게임의 다양한 국가나 지역에서의 호환성을 위해 게임 전체 패키징에 다음과 같은 요구 사항을 두었습니다.

    분류PC용모바일용
    초기 다운로드 패키지 크기≤50MB≤25MB
    총 파일 크기≤ 500MB≤ 250MB
    파일 수≤5000≤3000

모바일 게임 요구 사항

모바일 홈페이지에 등록하려면 초기 다운로드 크기가 25MB를 초과할 수 없습니다. 제출 내용에서 지원하는 방향을 구성할 수 있습니다. 웹사이트에서는 게임이 지정된 방향으로만 실행되도록 사용자에게 기기를 회전하도록 요청합니다. 따라서 방향 잠금 논리를 구현할 필요가 없습니다. 예를 들어, 일부 기기(예: 태블릿)에서 게임을 할 때 더블 클릭하거나 길게 누르면 확대 도구가 표시되거나 전체 게임이 선택되고 컨텍스트 메뉴가 표시될 수 있습니다. 조작 불편을 피하려면 body 게임에 다음 CSS를 추가하세요.

java
-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 캔버스 외부 컨텍스트 메뉴 표시
javascript
// 불필요한 페이지 스크롤 비활성화
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());