몰입형 환경을 위한 앱 품질 가이드라인은 기본 핵심 앱 품질 모바일 표준을 확장합니다.
이 앱 품질 가이드라인 및 정책은 호환성 등급 정의, 체크리스트, Android XR 앱 정책에 설명된 대로 XR 헤드셋 및 유선 XR 글라스의 Android XR 플랫폼에 고유한 공간 상호작용 및 기능에 중점을 둡니다. 이 섹션을 검토하여 앱이 XR 헤드셋과 유선 XR 글라스에서 우수한 사용자 환경을 제공하는지 확인하세요.
몰입형 환경: 호환성 등급 정의
다음 호환성 등급 정의를 검토하여 앱이 XR 헤드셋과 유선 XR 글라스에서 몰입형 환경을 지원하는 수준을 파악하세요.
Android XR 호환 모바일 앱
Android XR 호환 모바일 앱은 대형 화면이나 다른 폼 팩터에 맞게 수정되지 않은 기존 모바일 앱을 나타냅니다. 이 유형의 앱은 전화 통신과 같이 지원되지 않는 기능을 요구하지 않는 한 Android XR과 자동으로 호환됩니다. 사용자는 중요한 작업 흐름을 완료할 수 있지만 Android XR 차별화된 앱보다 최적의 사용자 환경은 제공되지 않습니다.
이 유형의 앱은 사용자 환경의 패널에서 전체 화면으로 실행되지만, 크기가 커지면 레이아웃이 이상적이지 않을 수 있습니다. 매니페스트에 압축 크기를 지정하는 앱은 그에 따라 표시됩니다. 앱이 호환성 모드로 실행되지 않으므로 레터박스 처리되지 않습니다. 앱은 Android XR에서 제공하는 핵심 입력 방식 (눈 추적 + 동작 또는 레이캐스트 손)의 기능적 환경과 키보드, 마우스, 트랙패드, 게임 컨트롤러를 비롯한 외부 입력 장치에 대한 기본 지원을 제공합니다. 크기 조절이 가능할 수도 있고 불가능할 수도 있습니다.
Android XR 호환 모바일 앱은 자동으로 선택되며 Google Play 스토어에서 사용할 수 있습니다. 지원되지 않는 기능 요구사항으로 인해 호환되지 않는 앱은 Play 스토어를 통해 설치할 수 없습니다.
Android XR 호환 적응형 앱
Android XR 호환 적응형 앱은 모든 화면 크기 및 기기 구성 (예: 모바일 외에도 대형 화면)에 맞게 레이아웃 최적화를 구현하고 외부 입력 장치 및 멀티태스킹에 관한 고급 지원을 제공하는 앱을 나타냅니다. 앱이 데스크톱, 태블릿 또는 폴더블에 대해 Tier 2 적응형 최적화 또는 Tier 1 적응형 차별화인 경우 이러한 요구사항을 충족합니다.
Android XR 호환 적응형 앱은 자동으로 선택되며 Play 스토어에서 사용할 수 있습니다.
Android XR 차별화된 앱
Android XR 차별화 앱은 XR용으로 명시적으로 설계된 사용자 환경을 갖추고 있으며 XR에서만 제공되는 기능을 구현합니다. Android Jetpack XR SDK, Unity, Godot, Unreal Engine 또는 OpenXR을 사용하여 개발하여 앱에 XR 기능 (예: 공간 패널)을 추가하고 XR 콘텐츠 (예: 3D 동영상)를 추가함으로써 Android XR 기능을 최대한 활용하고 앱 환경을 차별화할 수 있습니다.
Jetpack XR SDK를 사용하여 다음과 같은 XR 관련 기능을 제공할 수 있습니다.
- 공간 패널
- 환경
- 3D 모델
- 공간 음향
- 3D 또는 공간 동영상 및 사진
- 앵커
- Orbiter와 같은 기타 공간 UI
Android XR 차별화 앱으로 간주되려면 앱이 하나 이상의 XR 전용 기능 또는 XR 전용 콘텐츠를 구현해야 합니다. 특정 사용 사례의 경우 더 많은 기능 및 콘텐츠 요구사항이 있을 수 있습니다. 자세한 내용은 다음 섹션을 참고하세요.
Unity, Godot, Unreal Engine 또는 OpenXR로 빌드된 모든 앱은 Android XR 차별화 앱으로 간주되기 위한 품질 측정항목과 최소 요구사항을 충족하는 한 차별화된 앱으로 간주됩니다. 예를 들어 프레임 속도가 낮거나 비정상 종료가 발생하거나 기타 부정적인 사용자 환경이 있는 앱은 자격 요건을 충족하지 않습니다.
배지를 사용하여 사용자가 Play 스토어에서 앱을 찾을 수 있도록 하세요.
Android XR 차별화 앱은 Play 스토어에서 자동으로 'XR용' 배지를 받아 사용자가 고품질 XR 환경을 발견하는 데 도움이 됩니다.
몰입형 환경: 호환성 체크리스트
앱이 XR 헤드셋과 유선 XR 글라스에서 우수한 사용자 환경을 제공하는지 확인하려면 다음 호환성 체크리스트 및 테스트를 검토하세요.
체크리스트와 테스트는 대부분의 Android 앱 유형에 관한 포괄적인 품질 요구사항을 정의합니다.
Android XR 호환 모바일 앱
앱이 핵심 앱 품질 요구사항을 충족해야 합니다.
앱은 스마트폰 및 태블릿과 같은 다른 폼 팩터에 적용되는 모든 접근성 가이드라인 (예: 색상 대비)도 준수해야 합니다.
Android XR 호환 적응형 앱
데스크톱, 태블릿 또는 폴더블용 Tier 2 적응형 최적화 또는 Tier 1 적응형 차별화 앱은 Android XR 호환 적응형 앱으로도 간주됩니다. 적응형 앱 품질 가이드라인은 Android XR에서 우수한 환경을 보장하기 위한 체계적인 접근 방식을 제공하지만 회전이나 접기/펼치기와 같은 기기 상태 고려사항은 필요하지 않습니다.
Android XR 차별화 앱
Android XR 차별화 앱은 크게 차별화되므로 나열된 기능 중 일부는 특정 유형의 앱에만 적용할 수 있습니다. 앱에 적합한 기능을 선택합니다. Android 앱은 적응형 앱 품질 가이드라인도 준수해야 합니다. 앱에 적합한 요구사항을 확인하세요.
또한 최상의 사용자 환경을 위해 XR 차별화 앱 설계에 관한 안내를 따라야 합니다.
앱 유형 및 사용 사례 |
카테고리 |
영역 |
안내 |
|---|---|---|---|
일반 기준 요구사항 (Android 및 OpenXR) |
개인 정보 보호 및 보안 |
계정 로그인 (첫 번째 UX) |
앱에서 로그인 시스템을 사용하는 경우 인증에 성공한 후 사용자의 로그인 사용자 인증 정보 (예: 사용자 이름 사용자 인증 정보)를 명확하게 표시합니다. 이를 통해 활성 계정을 확인하여 신뢰를 구축할 수 있습니다. 또한 사용자가 언제든지 계정 정보를 확인하고 관리할 수 있는 쉽게 액세스할 수 있는 메뉴 또는 설정 페이지를 통합합니다. |
안전 및 편의 |
스트로빙 |
모든 사용자의 안전과 건강을 보장하려면 앱 내에서 스트로브 효과의 위험을 최소화하는 것이 중요합니다. 스트로브를 유도할 수 있는 디자인 요소를 의도적으로 포함하지 마세요. 1. 스트로브 효과가 반드시 필요한 경우 깜박임 속도를 매우 낮게 (초당 3회 미만) 설정하고 깜박이는 영역을 작고 미묘하게 만드세요. 2. 설정 또는 환경설정을 통해 이 기능을 사용 중지하는 기능을 제공하는 것이 좋습니다. 3. 스트로브 효과가 발생하기 전에 명확한 경고 메시지를 표시합니다. |
|
멀미 방지 |
사용자에게 멀미를 유발하지 않도록 다음 가이드라인을 따르세요.
|
||
어둡게 |
안전 위험을 방지하기 위해 사용자가 설정한 조광기 설정을 준수합니다. 앱에 최적의 환경을 제공하도록 디머를 조정할 수 있지만 사용자는 언제든지 수동으로 재정의할 수 있습니다. |
||
입력 |
상호작용 타겟 크기 |
상호작용 가능한 타겟은 의도된 상호작용 거리에 따라 최소 크기와 권장 크기가 있습니다.
Jetpack XR SDK를 사용할 때는 최소 크기 48x48dp, 권장 탭 타겟 크기 56x56dp 이상을 사용하는 것이 좋습니다. |
|
XR 기술 기능 |
손동작 입력 |
앱이 Android XR의 기본 상호작용 방법으로 자연스러운 손 입력을 지원합니다. 여기에는 손 레이캐스트 요구사항과 입력 프리미티브에 대한 동작 지원이 포함됩니다. 컨트롤러 없이도 앱을 플레이하거나 사용할 수 있지만, 원하는 경우 컨트롤러를 사용하여 앱을 보강할 수 있습니다. |
|
경계 |
앱이 주로 실제 세계에 초점을 맞추는 경우 ( 앱이 주로 가상 세계에 초점을 맞추고 있고 ( 앱에서 XR 글라스: XR 글라스 기기에는 경계가 없습니다. |
||
성능 |
렌더링 |
앱이 11.1ms (90Hz) 미만 및 13.8ms (72Hz) 미만으로 각 프레임을 렌더링합니다. |
|
해상도 |
OpenXR 및 엔진: 표준 게임 엔진과 마찬가지로 |
||
앱 시작 시간 |
사용자는 최대한 빨리 앱 또는 게임과 상호작용할 수 있기를 원합니다. 적절한 시작 시간 또는 로드 시간의 정의는 카테고리마다 다르지만, 일반적으로 실행과 첫 번째 상호작용 사이의 시간을 최소화하는 것이 좋습니다. 아래에서 목표 기간을 확인하세요.
자세한 내용은 앱 시작 시간을 참고하세요. |
||
ANR |
앱이 비정상 종료되거나 ANR ('Android 응답 없음') 오류를 일으키는 UI 스레드를 차단하지 않습니다. 앱의 일일 세션 중 99.5% 에서 ANR이 1회 미만으로 발생합니다. 앱에서 Google Play의 사전 출시 보고서를 사용하여 잠재적인 안정성 문제를 식별합니다. 배포 후에는 Google Play Console의 Android vitals 페이지를 주의 깊게 살펴보세요. |
||
비정상 종료 발생률 |
시스템의 나머지 부분과 다른 앱에 영향을 미치는 과도한 시스템 리소스를 사용하지 않고 비정상 종료율을 약 1% 로 유지합니다. |
||
Android 앱 기준 (XR 차별화) |
시각적 요소 및 사용자 환경 |
기본 XR |
앱이 사용자 환경을 개선하기 위해 하나 이상의 XR 전용 기능 또는 XR 전용 콘텐츠를 구현합니다. 여기에는 오비터, 하나 이상의 공간 패널, 환경 또는 3D 객체가 포함될 수 있습니다. |
공간 패널 |
|
||
환경 |
가상 환경을 표시할 때 밝기가 너무 높으면 주의가 산만해지고 피로해질 수 있습니다. 앱이 UI와 충돌하거나 사용자 피로를 유발할 수 있는 밝기 급증 없이 안전한 색조 범위를 제공합니다. UI는 모든 방향에서, 특히 사용자의 시선이 머무는 중간 가로 영역에서 읽을 수 있습니다. (향후 자세한 가이드라인 링크 예정) |
||
UI 테마 |
어두운 테마를 기본으로 사용하거나 사용을 적극 권장합니다. 밝은 테마 앱은 매우 밝게 표시되고 사용자의 환경에 통합되지 않으며 배터리를 더 빨리 소모합니다. XR 글라스의 경우 시스템에서 기본적으로 어두운 테마를 사용하므로 항상 어두운 테마를 구현합니다. |
||
홈 공간 (HSM)과 전체 공간 (FSM) 간 전환 |
사용자를 전체 공간으로 전환할 때 앱에는 사용자가 홈 공간과 전체 공간 간에 빠르게 전환할 수 있는 진입점이 있습니다. 아이콘이나 라벨을 사용하고 버튼을 쉽게 액세스할 수 있는 위치에 배치합니다. |
||
메뉴 및 목록 스크롤 |
앱 업데이트는 스크롤 상호작용 (특히 캐러셀 또는 세로 목록을 통한 상호작용)에 물리적 특성 또는 모멘텀을 추가합니다. 예를 들어 스크롤에는 모멘텀이 포함되어 있어 사용자 상호작용 후 캐러셀과 목록의 콘텐츠가 잠시 계속 움직이다가 점차 멈춥니다 (사용자가 입력을 중지할 때 정확히 멈추지 않음). |
||
동영상 및 미디어 기능 |
시각적 요소 및 사용자 환경 |
서라운드 플레이어 (Android만 해당) |
앱에서 사용자가 전체 공간에서 콘텐츠를 시청할 수 있습니다. 콘텐츠 상단의 오버레이에서 재생 컨트롤을 삭제하고 대신 전용 패널이나 오비터에 배치합니다. 동영상 재생이 있는 패널의 경우 가로세로 비율을 설정하여 레터박스를 삭제합니다. |
공간 음향 |
패널 고정 오디오 또는 서라운드 사운드를 포함한 공간 음향을 지원하는 것이 좋습니다. |
||
동시 동영상 시청 |
앱이 여러 동시 동영상 스트림을 지원하는 경우 사용자 인터페이스는 다음 정보를 명확하게 표시합니다.
|
||
환경 |
전체 공간에서 동영상 콘텐츠를 재생할 때 앱에서 사용자가 패스스루를 어둡게 하거나 지원되는 기기에서 가상 환경을 선택할 수 있습니다. |
Android XR 앱 정책
모든 앱은 XR 헤드셋 및 유선 XR 글라스와 같은 몰입형 기기에서 안전하고 존중하는 사용자 환경을 조성하기 위해 다음 정책의 요구사항을 준수해야 합니다.
앱 안전
Google Play를 통해 배포되는 모든 앱은 모든 Google Play 개발자 정책을 준수해야 합니다.
다음 활동은 엄격히 금지되며 앱은 이러한 활동을 조장하거나 홍보해서는 안 됩니다.
- 신상 털기
- 얼굴 인식 또는 생체 인식
- 감시
- 동의하지 않은 사적인 이미지 (NCII)의 제작 또는 배포
모든 앱에는 다음과 같은 제3자 보호 조치가 필요합니다.
카메라 안전
카메라에 액세스하는 앱은 주변인의 개인 정보를 존중해야 하며 다음을 준수해야 합니다.
금지된 상호작용 |
설명 |
|---|---|
실시간 얼굴 인식 및 신상 털기 |
앱은 카메라 센서를 사용하여 얼굴 인식을 실행해 주변인의 개인 식별 정보 (PII)를 표시해서는 안 됩니다. 예: 이름, 집 주소, 전화번호, 직장 |
동의하지 않은 사적인 이미지 (NCII) 또는 불법 콘텐츠 생성 |
앱은 카메라 센서를 사용하여 동의하지 않은 사적인 이미지 (NCII) 또는 불법 콘텐츠 (예: CSAM)를 생성해서는 안 됩니다. |
오디오 안전
마이크 어레이를 활용하는 앱은 주변인의 개인 정보를 존중해야 하며 다음을 준수해야 합니다(MUST).
금지된 상호작용 |
설명 |
|---|---|
지속적인 도청 |
사용자가 앱에서 사용자 시작 작업을 적극적으로 수행하지 않는 경우 앱은 지속적인 백그라운드 오디오 녹음 또는 스크립트 작성을 유지해서는 안 됩니다. |
음성 식별 |
앱은 마이크 어레이를 사용하여 착용자가 아닌 사람의 음성이나 주변인을 식별해서는 안 됩니다. |
LED 동작
앱은 기기의 사용자 및 월드 페이싱 LED와 관련하여 다음을 실행하면 안 됩니다.
금지된 상호작용 |
설명 |
|---|---|
프로그래매틱 억제 또는 수정 |
앱은 마이크 및 카메라 액세스에 따라 시스템에서 적용하는 월드 페이싱 LED 및 사용자 대상 LED 동작을 변경하거나 어둡게 하거나 사용 중지해서는 안 됩니다. 또한 앱은 사용자가 LED 동작을 변경, 어둡게 또는 사용 중지하도록 유도하거나 지시해서는 안 됩니다. |
방해 및 조작 감지 우회 |
앱은 외부 LED가 물리적으로 가려지거나 손상된 경우 프로그래밍 방식으로 녹화를 중지하도록 설계된 기기의 방해 감지 알고리즘을 우회하거나 방해해서는 안 되며, 사용자가 그렇게 하도록 유도하거나 지시해서도 안 됩니다. |
OpenXR™ 및 OpenXR 로고는 Khronos Group Inc. 소유의 상표이며 중국, 유럽 연합, 일본, 영국에서 상표로 등록되어 있습니다.