Android XR로 구동되는 삼성 갤럭시 XR이 출시되었습니다. 이 블로그 게시물은 Android XR Spotlight Week의 일부로, Android XR용 앱을 학습, 빌드, 준비하는 데 도움이 되는 리소스(블로그 게시물, 동영상, 샘플 코드 등)를 제공합니다.
오늘은 개발 여정의 마지막 단계 중 하나인 이러한 환경이 사용자에게 성공적으로 도달하도록 하는 데 중점을 둡니다. 올바르게 게시하면 앱이 효율적으로 패키징되고, 적절한 기기에서 검색되며, 최상의 방식으로 표시됩니다.
Google Play에 Android XR용 앱을 게시하고 배포할 때 알아야 할 5가지 사항은 다음과 같습니다.
1. Android XR 앱 품질 가이드라인을 준수하여 품질 유지
게시하기 전에 가장 중요한 단계 중 하나는 앱이 안전하고 편안하며 성능이 우수한 사용자 환경을 제공하는지 확인하는 것입니다.
Android XR 앱 품질 가이드라인을 따르면 앱이 갤럭시 XR과 같은 기기에서 사용자에게 우수한 환경을 제공할 수 있습니다.
품질이 중요한 이유
이 가이드라인은 대형 화면 앱 품질 가이드라인을 기반으로 하며 다음을 비롯한 중요한 XR 관련 기준에 중점을 둡니다.
- 안전 및 편안함: 이는 가장 중요한 요소입니다. 이 가이드라인은 카메라 움직임과 프레임 속도에 대한 표준을 설정하고 스트로빙과 같은 시각적 요소를 제한하여 멀미를 유발하지 않도록 도와줍니다.
- 성능: 앱이 지연을 방지하고 부드럽고 편안한 환경을 보장하려면 타겟 프레임 속도와 같은 성능 측정항목을 충족해야 합니다.
- 상호작용: 가이드라인에서는 시선 추적 및 손 추적 입력과 잘 작동하도록 상호작용 타겟의 권장 최소 크기 (예: 최소 48dp, 권장 56dp)를 지정합니다.
2. 앱 매니페스트를 올바르게 구성
AndroidManifest.xml 파일은 앱에 관한 중요 정보를 설명합니다. Android 빌드 도구, Android 시스템, Google Play는 이 정보를 사용하여 개발자가 어떤 종류의 환경을 빌드했고 어떤 하드웨어 기능이 필요한지 파악합니다. 올바른 기기 타겟팅과 앱 실행을 위해서는 적절한 구성이 중요합니다.
앱에서 사용하는 Android XR SDK 지정
앱 매니페스트에 android.software.xr.api.spatial 또는 android.software.xr.api.openxr를 포함하여 Jetpack XR SDK로 빌드하는지 아니면 OpenXR 또는 Unity로 빌드하는지 나타냅니다.
| 사용된 SDK | 매니페스트 선언 |
| Jetpack XR SDK | android.software.xr.api.spatial |
| OpenXR 또는 Unity | android.software.xr.api.openxr |
OpenXR 또는 Unity를 사용하여 앱을 빌드하는 경우 android:required 속성을 true로 설정해야 합니다. Jetpack XR SDK로 빌드된 앱의 경우 앱이 Android XR 전용 출시 트랙에 게시되면 android:required 속성을 true로 설정하고 앱이 모바일 출시 트랙에 게시되면 android:required 속성을 false로 설정합니다.
활동 시작 모드 설정
기본 활동에서 android.window.PROPERTY_XR_ACTIVITY_START_MODE 속성을 사용하여 기본 사용자 환경을 정의합니다.
| 시작 모드 | 목적 | SDK |
XR_ACTIVITY_START_MODE_HOME_SPACE | 공유 멀티태스킹 환경인 홈 스페이스에서 앱을 실행합니다. | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED | 완전한 몰입형 단일 앱 환경인 전체 공간에서 실행됩니다. | Jetpack XR SDK |
XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED | 완전한 몰입형 단일 앱 환경인 전체 공간에서 실행됩니다. OpenXR 또는 Unity로 빌드된 앱은 항상 전체 공간에서 실행됩니다. | OpenXR 또는 Unity |
런타임에 선택적 하드웨어 기능 확인
선택사항인 XR 기능 (예: 손 추적 또는 컨트롤러)이 앱에 정말로 필요한 경우가 아니라면 android:required="true"로 설정하지 마세요. 기기에서 필수 기능을 지원하지 않으면 Google Play에서 해당 기기에 앱을 숨깁니다. 필수로 설정된 기능이 있지만 앱이 해당 기능 없이도 작동할 수 있다면 불필요하게 잠재고객을 제한할 수 있습니다.
대신 hasSystemFeature()을 사용하여 PackageManager 클래스를 통해 런타임에 고급 기능을 동적으로 확인하세요.
Kotlin val hasHandTracking = packageManager.hasSystemFeature("android.hardware.xr.input.hand_tracking") if (hasHandTracking) { // Enable high-fidelity hand tracking features } else { // Provide a fallback experience }
이렇게 하면 앱이 광범위하게 호환되고 고급 기능을 사용할 수 있을 때 활용할 수 있습니다.
3. Play Asset Delivery (PAD)를 사용하여 대규모 애셋 전송
몰입형 앱과 게임에는 표준 크기 제한을 초과할 수 있는 대규모 애셋이 포함되는 경우가 많습니다. Play Asset Delivery (PAD)를 사용하여 대규모의 고품질 애셋을 관리합니다. PAD는 콘텐츠의 점진적 다운로드를 위한 유연한 전송 모드(설치 시, 빠른 추적, 주문형)를 제공합니다. Android XR용으로 빌드된 앱은 추가 애셋 팩을 전송할 수 있습니다. 주문형 또는 패스트 팔로우로 전송된 애셋 팩의 누적 합계가 4GB인 대신 이러한 앱에는 더 높은 누적 합계인 30GB가 제공됩니다.
Unity로 빌드하는 개발자는 Play Asset Delivery와 함께 Unity Addressables를 사용하여 애셋 팩을 관리합니다.
4. 공간 동영상 미리보기로 앱 선보이기
XR 헤드셋에서 Play 스토어를 둘러보는 사용자의 관심을 사로잡으려면 공간 동영상 애셋을 사용하여 앱의 몰입형 미리보기를 제공하면 됩니다. 180°, 360° 또는 스테레오 동영상이어야 합니다. Android XR 기기에서 Play 스토어는 이를 몰입형 3D 미리보기로 자동 표시하므로 사용자는 앱을 설치하기 전에 콘텐츠의 깊이와 크기를 경험할 수 있습니다.
5. Google Play 출시 트랙 선택
Google Play에서는 동일한 Play Console 계정을 사용하는 두 가지 경로를 통해 Android XR 앱을 게시할 수 있습니다.
옵션 A: 모바일 출시 트랙에서 계속 (공간화된 모바일 앱의 경우)
기존 모바일 앱에 공간 XR 기능을 추가하는 경우 XR 기능이나 콘텐츠를 기존 Android App Bundle (AAB)에 번들로 묶을 수 있습니다.
이 접근 방식은 앱이 모바일 기기와 XR 기기 모두에서 대부분의 핵심 기능을 유지하고 모바일 트랙에 동일한 AAB를 계속 게시할 수 있는 경우에 적합합니다. 이 안내를 검토하여 이 사용 사례를 지원하도록 앱의 매니페스트 파일을 올바르게 구성하고 있는지 확인하세요.
옵션 B: 전용 Android XR 출시 트랙에 게시
XR용 새 앱을 빌드하거나 XR 버전이 단일 AAB에 비해 기능적으로 너무 다른 경우 Android XR 전용 출시 트랙에 게시해야 합니다.
Android XR 전용 출시 트랙에 게시된 앱은 android.software.xr.api.spatial 기능 또는 android.software.xr.api.openxr 기능을 지원하는 Android XR 기기에만 표시되므로 배포를 관리할 수 있습니다.
이 가이드를 따르면 혁신적인 Android XR 앱이 고품질 사용자 환경을 제공하고, 효율적으로 패키징되고, PAD를 사용하여 원활하게 제공되고, 앱을 실행할 수 있는 기기를 타겟팅할 수 있습니다. 즐거운 게시 되세요.
계속 읽기
-
방법
과도한 배터리 소모가 Android 사용자의 가장 큰 관심사임을 인식한 Google은 개발자가 더 효율적인 앱을 빌드할 수 있도록 지원하기 위해 상당한 조치를 취해 왔습니다.
Alice Yuan • 8분 읽기
-
방법
온디바이스 모델과 클라우드 모델을 모두 사용하는 AI 지원 기능의 예를 제공하여 사용자에게 즐거운 경험을 선사할 수 있도록 영감을 드리고자 합니다.
Thomas Ezan, Ivy Knight • 전문 길이: 2분
-
방법
성능 레벨링 가이드에는 5가지 레벨이 있습니다. 최소한의 채택 노력 성능 도구를 소개하는 레벨 1부터 맞춤 성능 프레임워크를 유지할 리소스가 있는 앱에 적합한 레벨 5까지 살펴봅니다.
Alice Yuan • 읽는 데 9분 소요
소식 받아 보기
Android 개발 관련 최신 정보를 이메일로 받아 보세요.