호환성 등급 정의
앱이 Android XR 기기에서 우수한 사용자 환경을 제공하도록 하려면 다음 호환성 체크리스트 및 테스트를 검토하세요.
체크리스트와 테스트는 대부분의 Android 앱 유형에 관한 포괄적인 품질 요구사항을 정의합니다.
Android XR 호환 모바일 앱
Android XR 호환 모바일 앱은 대형 화면이나 다른 폼 팩터에 맞게 수정되지 않은 기존 모바일 앱을 나타냅니다. 이 유형의 앱은 전화 통신과 같이 지원되지 않는 기능이 필요하지 않은 한 Android XR과 자동으로 호환됩니다. 사용자가 중요한 작업 흐름을 완료할 수 있지만 Android XR 차별화 앱보다 최적의 사용자 환경은 제공되지 않습니다.
이 유형의 앱은 사용자 환경의 패널에서 전체 화면으로 실행되지만 큰 크기에서는 레이아웃이 이상적이지 않을 수 있습니다. 매니페스트에서 소형 크기를 지정하는 앱은 그에 따라 표시됩니다. 앱이 호환성 모드로 실행되지 않으므로 레터박스 처리되지 않습니다. 앱은 Android XR에서 제공하는 핵심 입력 모달 (눈 추적 + 동작 또는 레이캐스트 손)의 기능적 환경을 제공하고 키보드, 마우스, 트랙패드, 게임 컨트롤러를 비롯한 외부 입력 장치를 기본적으로 지원합니다. 크기를 조절할 수 있는 경우도 있고 그렇지 않은 경우도 있습니다.
Android XR 호환 모바일 앱은 자동으로 선택되며 Google Play 스토어에서 사용할 수 있습니다. 지원되지 않는 기능 요구사항으로 인해 호환되지 않는 앱은 Play 스토어를 통해 설치할 수 없습니다.
Android XR 호환 대형 화면 앱
Android XR 호환 대형 화면 앱은 모든 화면 크기 및 기기 구성 (예: 모바일 외에도 대형 화면)에 맞게 레이아웃 최적화를 구현하고 외부 입력 장치 및 멀티태스킹에 관한 향상된 지원을 제공하는 대형 화면 Tier 1 또는 Tier 2 앱을 나타냅니다. Android XR 호환 대형 화면 앱은 자동으로 선택되며 Play 스토어에서 사용할 수 있습니다.
Android XR 호환 대형 화면 앱은 사용자 환경의 공간 패널에서 1024dp × 720dp로 전체 화면으로 실행됩니다. 사용자는 눈과 손을 사용하여 자연스럽게 앱과 상호작용할 수 있지만 그 외에는 대형 화면 앱과 매우 유사합니다.
Android XR 차별화 앱
Android XR 차별화 앱은 XR용으로 명시적으로 설계된 사용자 환경을 갖추고 있으며 XR에서만 제공되는 기능을 구현합니다. Android Jetpack XR SDK, Unity 또는 OpenXR로 개발하여 애플리케이션에 XR 기능 (예: 공간 패널)을 추가하거나 XR 콘텐츠 (예: 3D 동영상)를 추가하여 Android XR 기능을 최대한 활용하고 앱 환경을 차별화할 수 있습니다.
Jetpack XR SDK를 사용하여 공간 패널, 환경, 3D 모델, 공간 오디오, 3D / 공간 동영상 / 사진, 앵커, 오리터와 같은 기타 공간 UI를 비롯한 XR 관련 기능을 제공할 수 있습니다.
Android XR 차별화 앱으로 간주되려면 앱이 XR 관련 기능 또는 XR 관련 콘텐츠를 하나 이상 구현해야 합니다. 특정 사용 사례의 경우 더 많은 기능과 콘텐츠 요구사항이 있을 수 있습니다. 아래 세부정보를 참조하세요.
Unity 또는 OpenXR로 빌드된 모든 앱은 차별화된 것으로 간주됩니다. Unity 또는 OpenXR로 빌드된 앱은 품질 측정항목과 최소 요구사항을 충족해야 Android XR 차별화 앱으로 간주될 수 있습니다. 예를 들어 프레임 속도가 느리거나 비정상 종료가 발생하거나 기타 부정적인 사용자 환경이 있는 앱은 자격 요건을 충족하지 않습니다.
Android XR 호환성 체크리스트
이러한 호환성 체크리스트는 앱이 XR에 제공하는 지원 수준을 평가하는 데 도움이 되는 기준을 정의합니다. 지원 수준은 다음과 같습니다.
Android XR 호환 모바일 앱
앱이 핵심 앱 품질 요구사항을 충족해야 합니다.
또한 앱은 휴대전화 및 태블릿과 같은 다른 폼 팩터에 적용되는 모든 접근성 가이드라인 (예: 색상 대비)을 준수해야 합니다.
Android XR 호환 대형 화면 앱
모든 대형 화면 Tier 1 또는 Tier 2 앱은 Android XR 호환 대형 화면 앱으로 간주됩니다. 대형 화면 앱 품질 가이드라인은 Android XR에서 우수한 환경을 보장하기 위한 체계적인 접근 방식을 제공하지만 회전이나 접힘/펼침과 같은 기기 상태 고려사항은 필요하지 않습니다. 마찬가지로 Android XR에는 스타일러스 지원이 포함되어 있지 않습니다.
Android XR 차별화 앱
Android XR 차별화 앱은 크게 차별화되므로 나열된 기능 중 일부는 특정 유형의 앱에만 적용할 수 있습니다. 애플리케이션에 적합한 기능을 선택합니다. Android 앱은 대형 화면 / 모바일 Android 가이드라인도 준수해야 합니다. 애플리케이션에 적합한 요구사항을 확인하세요. 이 중 일부는 잠재적인 정책 업데이트로 이어질 수도 있습니다.
앱 유형 / 사용 사례 |
카테고리 |
영역 |
안내 |
---|---|---|---|
일반적인 기준 요구사항 (Android 및 OpenXR) |
개인 정보 보호 및 보안 |
계정 로그인 (처음 UX) |
앱에서 로그인 시스템을 사용하는 경우 인증이 완료된 후 사용자의 로그인 사용자 인증 정보 (예: 사용자 이름 사용자 인증 정보)를 명확하게 표시합니다. 이렇게 하면 활성 계정을 확인하여 신뢰를 얻을 수 있습니다. 또한 사용자가 언제든지 계정 정보를 확인하고 관리할 수 있는 쉽게 액세스할 수 있는 메뉴 또는 설정 페이지를 통합하세요. |
안전 및 편안함 |
섬광 효과 |
모든 사용자의 안전과 웰빙을 보장하려면 애플리케이션 내에서 스트로보 효과의 위험을 최소화하는 것이 중요합니다. 플래시를 유발할 수 있는 디자인 요소를 의도적으로 통합하지 마세요. 1. 섬광 효과가 반드시 필요한 경우 점멸 빈도가 매우 낮고 (초당 3회 미만) 점멸 영역이 작고 미묘해야 합니다. 2. 설정 또는 환경설정을 통해 사용 중지할 수 있는 기능을 제공하는 것이 좋습니다. 3. 스트로보 효과가 발생하기 전에 명확한 경고 메시지를 표시합니다. |
|
멀미 방지 |
사용자에게 멀미를 유발하지 않도록 다음 가이드라인을 따르세요.
|
||
입력 |
상호작용 타겟 크기 |
상호작용이 가능한 타겟에는 의도된 상호작용 거리에 따라 최소 크기와 권장 크기가 있습니다.
Jetpack XR SDK를 사용할 때는 최소 크기가 48x48dp이고 탭 영역 크기는 56x56dp 이상을 사용하는 것이 좋습니다. |
|
XR 기술 기능 |
손 입력 |
앱이 손 레이캐스트 요구사항 및 입력 프리미티브의 동작 지원을 비롯하여 Android XR의 기준 상호작용 방법으로 자연스러운 손 입력을 지원합니다. 앱은 컨트롤러 없이 플레이하거나 사용할 수 있지만 원하는 경우 컨트롤러를 사용하여 기능을 확장할 수 있습니다. |
|
Boundary (이전 명칭: Guardian) |
앱에서 사용자가 앱 실행 시 시작 지점에서 실제 공간으로 이동할 것으로 예상하는 경우 패스스루를 요청하거나 매니페스트에서 앱에서 |
||
성능 |
렌더링 |
앱이 각 프레임을 11.1ms (90Hz) 미만과 13.8ms (72Hz) 미만으로 렌더링합니다. |
|
해상도 |
앱의 해상도가 눈당 2364x2880 이상입니다. |
||
앱 시작 시간 |
사용자는 앱 또는 게임과 최대한 빨리 상호작용할 수 있기를 원합니다. 적절한 시작 시간 또는 로드 시간의 정의는 카테고리에 따라 다르지만 일반적으로 실행과 첫 번째 상호작용 사이의 시간을 최소화하는 것이 좋습니다. 아래에서 타겟 시간대를 확인하세요.
자세한 내용은 앱 시작 시간을 참고하세요. |
||
ANR |
앱이 비정상 종료되거나 ANR ('Android 응답 없음') 오류를 일으키는 UI 스레드를 차단하지 않습니다. 앱의 일일 세션 중 99.5% 에서 ANR이 1회 미만 발생합니다. 앱이 Google Play의 사전 출시 보고서를 사용하여 잠재적인 안정성 문제를 식별합니다. 배포 후에는 Google Play Console의 Android Vitals 페이지를 주의 깊게 살펴보세요. |
||
비정상 종료 발생률 |
나머지 시스템 및 다른 앱에 영향을 미치는 과도한 시스템 리소스를 사용하지 마세요. 비정상 종료율은 약 1% 를 유지하세요. |
||
Android 앱 기준 (XR 구분) |
시각적 및 사용자 환경 |
기본 XR |
앱이 사용자 환경을 개선하기 위해 XR 관련 기능 또는 XR 관련 콘텐츠를 하나 이상 구현합니다. 여기에는 궤도선, 하나 이상의 공간 패널, 환경 또는 3D 객체가 포함될 수 있습니다. |
공간 패널 |
패널을 사용하여 멀티태스킹 (즉, 두 개 이상의 작업을 한 번에 완료)을 할 때는 별도의 공간 패널을 만듭니다. 예를 들어 채팅 창과 목록에 별도의 공간 패널을 만듭니다. |
||
환경 |
가상 환경을 표시할 때 밝기가 방해가 되거나 피로를 유발할 수 있습니다. 앱이 UI와 충돌하거나 사용자 피로를 유발할 수 있는 밝기 급증이 없는 안전한 색조 범위를 표시합니다. UI가 모든 방향에서 읽기 쉬우며 특히 사용자의 시선이 머무는 중간 가로 밴드 내에서 읽기 쉽습니다. (자세한 가이드라인은 향후 연결될 예정) |
||
홈 스페이스 (HSM)와 전체 스페이스 (FSM) 간에 전환 |
사용자를 전체 공간으로 이동할 때 앱에는 사용자가 홈 공간과 전체 공간 간에 빠르게 전환할 수 있는 진입점이 있습니다. 아이콘이나 라벨을 사용하고 접근하기 쉬운 위치에 버튼을 배치합니다. |
||
공간 패널 |
메뉴, 애셋, 컨트롤을 전용 패널 또는 오리터에 배치합니다. 이러한 구성요소는 기본 편집 패널에 포함하지 마세요. |
||
메뉴 / 목록 스크롤 |
앱이 물리학 또는 운동량을 갖도록 스크롤 상호작용 (특히 캐러셀 또는 세로 목록을 통해)을 업데이트합니다. 예를 들어 스크롤 시 모멘텀이 적용되어 캐러셀 및 목록의 콘텐츠가 사용자 상호작용 후 잠시 계속 움직이다가 점차 멈춥니다 (사용자가 입력을 중지한 시점에 정확히 멈추는 대신). |
||
동영상 / 미디어 기능 |
시각적 및 사용자 환경 |
공간 플레이어 (Android만 해당) |
앱을 통해 사용자는 전체 스페이스에서 콘텐츠를 시청할 수 있습니다. 콘텐츠 위에 있는 오버레이에서 재생 컨트롤을 삭제하고 대신 전용 패널이나 오비터에 배치합니다. 동영상 재생이 있는 패널의 경우 가로세로 비율을 설정하여 레터박스를 삭제합니다. |
공간 음향 |
패널 잠금 오디오 또는 서라운드 사운드를 비롯한 공간 음향을 지원해 보세요. |
||
동시 동영상 시청 |
앱에서 여러 동영상 스트림을 동시에 지원하는 경우 사용자 인터페이스에 다음 정보가 명확하게 표시됩니다.
|
||
환경 |
전체 공간에서 콘텐츠를 재생할 때 앱은 사용자가 패스스루를 어둡게 하거나 가상 환경을 선택하도록 허용합니다. |