Android XR로 구동되는 Samsung Galaxy 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를 사용하여 원활하게 제공되고, 앱을 실행할 수 있는 기기를 타겟팅할 수 있습니다. 즐거운 게시 되세요.
-
방법앱 성능은 부드러운 UI와 빠른 시작 시간과 동일시되는 경우가 많지만, 메모리는 이러한 눈에 보이는 측정항목이 구축되는 조용한 기반 역할을 합니다. 기기 메모리가 그 어느 때보다 중요해지는 추세가 나타나고 있습니다.
-
방법오늘 Google에서 발급하는 새로운 인증된 이메일 사용자 인증 정보를 발표하게 되어 기쁩니다. 이제 개발자는 Android의 인증 관리자 디지털 사용자 인증 정보 API에서 직접 이 사용자 인증 정보를 가져올 수 있습니다.
Niharika Arora, Jean-Pierre Pralle • 전문 길이: 3분 -
방법Android 스튜디오의 Gemini, Gemini CLI, Antigravity 또는 Claude Code, Codex와 같은 서드 파티 에이전트를 사용하는 경우에도 Google의 목표는 어디서나 고품질 Android 개발이 가능하도록 하는 것입니다.
Adarsh Fernando, Esteban de la Canal • 전문 길이: 4분
Android 개발 관련 최신 정보를 이메일로 받아 보세요.