Unity의 워크플로와 기능에 더 익숙하거나 게임이 더 복잡하고 3D 그래픽과 물리학이 포함된 경우 Unity를 사용하여 게임을 개발하는 것이 좋습니다. 또한 다양한 성능 최적화 기능이 제공됩니다. 일부 Wear OS 품질 요구사항에는 로터리 입력 지원과 같은 Unity의 맞춤 구현이 필요할 수 있습니다.
Wear OS 5부터 RemoteActivityHelper API에는 Wear OS 기기가 독립형 모드인지 감지하는 지원이 포함됩니다. 기기가 독립형 모드인 경우 앱이나 게임에서 표시할 수 있는 휴대전화에서 열기 상호작용을 숨깁니다.
앱이 휴대전화에서 공개 URL을 열어 이용약관, 법적 고지, 개인정보처리방침 또는 유사한 항목을 표시해야 하는 사용 사례의 경우 Dialog 구성요소를 사용하여 짧은 링크 또는 QR 코드를 표시합니다. QR 코드를 제공하면 부모와 보호자가 휴대기기를 사용하여 QR 코드를 스캔할 수 있습니다.
교차 기기 승인 요청을 보내기 전에 독립형 모드 상태 확인
앱이 다른 기기에 OAuth 승인 요청을 하는 경우 먼저 기기가 독립형 모드인지 확인합니다. 이렇게 하려면 RemoteAuthClient 객체에서 getAvailabilityStatus()를 호출합니다.
반환 값이 STATUS_UNAVAILABLE이면 기기가 독립형 모드이므로 모바일 기기에 OAuth 승인 요청을 전송할 때까지 기다려야 합니다.
반환 값이 STATUS_TEMPORARILY_UNAVAILABLE인 경우 승인 요청을 보내기 전에 값이 STATUS_AVAILABLE로 변경될 때까지 기다립니다.
이 페이지에 나와 있는 콘텐츠와 코드 샘플에는 콘텐츠 라이선스에서 설명하는 라이선스가 적용됩니다. 자바 및 OpenJDK는 Oracle 및 Oracle 계열사의 상표 또는 등록 상표입니다.
최종 업데이트: 2025-07-27(UTC)
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-07-27(UTC)"],[],[],null,["# Develop experiences for kids on Wear OS\n\nReview the following guidelines to optimize your Wear OS app's experience for\nkids. Also, confirm that your app or game\n[satisfies requirements for kid-friendly experiences](/training/wearables/packaging#kids).\n\nReview Wear OS principles\n-------------------------\n\nReview the following resources for creating new Wear OS apps:\n\n- [Get started with Wear OS](/training/wearables)\n- [Principles of Wear OS development](/training/wearables/principles)\n- [UI design](/design/ui/wear)\n- [Create and run an app on Wear OS](/training/wearables/get-started/creating)\n- [App quality requirements](/docs/quality-guidelines/wear-app-quality#requirements)\n\nDon't port the phone app\n------------------------\n\nDon't port your mobile app onto Wear OS. Wear OS devices have much smaller\nbatteries and components than mobile devices, which makes directly-ported mobile\ngames very difficult to play.\n\nLearn more about how to [design experiences for kids on Wear OS](/design/ui/wear/guides/foundations/wear-os-for-kids).\n\nChoose a development environment\n--------------------------------\n\nTo develop kid-friendly experiences, you can use [Compose for Wear OS](/training/wearables/compose), our\nrecommended approach for building UIs on Wear OS, as well as\n[Unity for Android](https://unity.com/solutions/mobile/android-game-development).\n\nIf you're more familiar with [Unity's](/games/engines/unity/start-in-unity) workflows and capabilities, or if your\ngame is more complex and has 3D graphics and physics, we recommend using Unity\nto develop your game. It also comes with a variety of performance optimization\nfeatures. Some Wear OS quality requirements may require custom implementations\nin Unity, such as support for [rotary input](/training/wearables/compose/rotary-input).\n\nFor games with only a few simple and short animations, the\n[Compose Animation API](/develop/ui/compose/animation/introduction) should be sufficient and is better supported within\nthe Android environment.\n\nMinimize impact on device battery\n---------------------------------\n\nMinimize events that affect battery life over the course of one session. Kids\nuse watches that provide important safety features for their parents or\nguardians, which depend on the device having enough battery life.\n\nThe following list includes some best practices for reducing battery impact.\nYou can also learn more about how to [conserve power and battery](/training/wearables/apps/power).\n\n- Design for offline use cases so that kids can play without incurring network-related battery costs.\n- Minimize tasks that require an internet or GPS connection.\n- Limit active gameplay time per day.\n- Use power efficient APIs for [all day activity tracking](/health-and-fitness/guides/health-services/monitor-background) as well as tracking [exercises](/health-and-fitness/guides/health-services/active-data).\n- Reduce manual creation of wakelocks and use [`WorkManager`](/develop/background-work/background-tasks/persistent/getting-started).\n\nThe following list includes elements that you shouldn't include in your\nexperience:\n\n- Don't use [direct sensor tracking](/training/wearables/apps/power#sensors) as this significantly reduces the battery life.\n- Don't include long-running animations.\n- Don't encourage the user to keep the screen on longer than necessary.\n\nPrepare for standalone experiences\n----------------------------------\n\n**Important:** Kids apps must [identify themselves as standalone](/training/wearables/apps/standalone-apps) to be made\navailable on watches in kids mode.\n\nWhen developing [standalone experiences](/training/wearables/apps/standalone-apps), consider the following:\n\n- Design for offline use cases so that kids can always play.\n- Test how your app behaves on an emulator that doesn't have an active connection to a mobile device.\n\nUse Watch Face Format to create watch faces\n-------------------------------------------\n\nA watch face that's designed for kids must be created using Watch Face Format.\nBe mindful of how color saturation affects battery performance.\n\nLearn more about how you can either\n[design a watch face using Watch Face Studio](https://developer.samsung.com/watch-face-studio/overview.html) or\n[manually configure the Watch Face Format](/training/wearables/wff), and check out our\n[watch face validation tools](https://github.com/google/watchface).\n\nHide open-on-phone actions\n--------------------------\n\nStarting in Wear OS 5, the [`RemoteActivityHelper`](/reference/androidx/wear/remote/interactions/RemoteActivityHelper) API includes support for\ndetecting whether a Wear OS device is in standalone mode. If a device is in\nstandalone mode, hide any **Open on phone** interactions that your app or game\nmight otherwise show.\n\nFor use cases where an app needs to be able to open a public URL on the phone\nto display Terms of Service, legal notices, a privacy policy, or something\nsimilar, display a short-link or QR Code using the [`Dialog`](/reference/kotlin/androidx/wear/compose/material/dialog/package-summary) component. If\nyou provide a QR Code, parents and guardians can scan it using a mobile device.\n| **Note:** If your app tries to send a remote intent to a device that's in standalone mode, the operation fails with the `RESULT_FAILED` status.\n\nCheck standalone mode status before sending cross-device authorization requests\n-------------------------------------------------------------------------------\n\nIf your app makes OAuth authorization requests to other devices, first check\nwhether the device is in standalone mode. To do so, call\n[`getAvailabilityStatus()`](/reference/androidx/wear/phone/interactions/authentication/RemoteAuthClient#getAvailabilityStatus()) from a `RemoteAuthClient` object:\n\n- If the return value is `STATUS_UNAVAILABLE`, the device is in standalone mode, and you should wait to send any OAuth authorization requests to mobile devices.\n- If the return value is `STATUS_TEMPORARILY_UNAVAILABLE`, wait for the value to change to `STATUS_AVAILABLE` before sending authorization requests."]]