Wear OS에서 아동용 환경 개발

다음 가이드라인을 검토하여 어린이용 Wear OS 앱 환경을 최적화하세요. 또한 앱 또는 게임이 아동용 환경 요구사항을 충족하는지 확인합니다.

Wear OS 원칙 검토

새 Wear OS 앱을 만들려면 다음 리소스를 검토하세요.

전화 앱을 포팅하지 않음

모바일 앱을 Wear OS로 포팅하지 마세요. Wear OS 기기는 휴대기기보다 배터리와 구성요소가 훨씬 작기 때문에 직접 포팅된 모바일 게임을 플레이하기가 매우 어렵습니다.

Wear OS에서 아동용 환경을 디자인하는 방법을 자세히 알아보세요.

개발 환경 선택

아동용 환경을 개발하려면 Wear OS에서 UI를 빌드하는 데 권장되는 접근 방식인 Wear OS용 ComposeAndroid용 Unity를 사용하세요.

Unity의 워크플로와 기능에 더 익숙하거나 게임이 더 복잡하고 3D 그래픽과 물리학이 포함된 경우 Unity를 사용하여 게임을 개발하는 것이 좋습니다. 또한 다양한 성능 최적화 기능이 제공됩니다. 일부 Wear OS 품질 요구사항에는 로터리 입력 지원과 같은 Unity의 맞춤 구현이 필요할 수 있습니다.

간단하고 짧은 애니메이션이 몇 개만 있는 게임의 경우 Compose Animation API가 충분하며 Android 환경에서 더 잘 지원됩니다.

기기 배터리에 미치는 영향 최소화

한 세션 동안 배터리 수명에 영향을 미치는 이벤트를 최소화합니다. 자녀는 부모나 보호자에게 중요한 안전 기능을 제공하는 시계를 사용하며, 이는 기기의 배터리 수명에 따라 달라집니다.

다음 목록에는 배터리 영향을 줄이기 위한 몇 가지 권장사항이 포함되어 있습니다. 전원 및 배터리를 절약하는 방법을 자세히 알아볼 수도 있습니다.

  • 아동이 네트워크 관련 배터리 비용 없이 플레이할 수 있도록 오프라인 사용 사례를 고려하여 설계합니다.
  • 인터넷 또는 GPS 연결이 필요한 작업을 최소화합니다.
  • 일일 활성 게임플레이 시간을 제한합니다.
  • 운동 추적뿐만 아니라 일일 활동 추적에 전력 효율적인 API를 사용하세요.
  • 수동으로 wakelock을 만들지 말고 WorkManager를 사용하세요.

다음 목록에는 환경에 포함해서는 안 되는 요소가 포함되어 있습니다.

  • 직접 센서 추적을 사용하면 배터리 수명이 크게 줄어들므로 사용하지 마세요.
  • 장기 실행 애니메이션은 포함하지 마세요.
  • 사용자가 필요 이상으로 화면을 켜두도록 유도하지 마세요.

독립형 환경 준비

독립형 환경을 개발할 때는 다음 사항을 고려하세요.

  • 아이들이 언제든지 플레이할 수 있도록 오프라인 사용 사례를 고려하여 디자인합니다.
  • 휴대기기와 활성 연결이 없는 에뮬레이터에서 앱이 어떻게 작동하는지 테스트합니다.

워치 페이스 형식을 사용하여 시계 화면 만들기

아동용으로 설계된 시계 화면은 워치 페이스 형식을 사용하여 만들어야 합니다. 색상 채도가 배터리 성능에 미치는 영향을 고려하세요.

시계 화면 스튜디오를 사용하여 시계 화면을 디자인하거나 워치 페이스 형식을 수동으로 구성하는 방법을 자세히 알아보고 시계 화면 유효성 검사 도구를 확인하세요.

휴대전화에서 열기 작업 숨기기

Wear OS 5부터 RemoteActivityHelper API에는 Wear OS 기기가 독립형 모드인지 감지하는 지원이 포함됩니다. 기기가 독립형 모드인 경우 앱이나 게임에서 표시할 수 있는 휴대전화에서 열기 상호작용을 숨깁니다.

앱이 휴대전화에서 공개 URL을 열어 이용약관, 법적 고지, 개인정보처리방침 또는 유사한 항목을 표시해야 하는 사용 사례의 경우 Dialog 구성요소를 사용하여 짧은 링크 또는 QR 코드를 표시합니다. QR 코드를 제공하면 부모와 보호자가 휴대기기를 사용하여 QR 코드를 스캔할 수 있습니다.

교차 기기 승인 요청을 보내기 전에 독립형 모드 상태 확인

앱이 다른 기기에 OAuth 승인 요청을 하는 경우 먼저 기기가 독립형 모드인지 확인합니다. 이렇게 하려면 RemoteAuthClient 객체에서 getAvailabilityStatus()를 호출합니다.

  • 반환 값이 STATUS_UNAVAILABLE이면 기기가 독립형 모드이므로 모바일 기기에 OAuth 승인 요청을 전송할 때까지 기다려야 합니다.
  • 반환 값이 STATUS_TEMPORARILY_UNAVAILABLE인 경우 승인 요청을 보내기 전에 값이 STATUS_AVAILABLE로 변경될 때까지 기다립니다.