한국의 개발자들을 위한 Google for Developers 국문 블로그입니다.
안드로이드 웨어 2.0에서 앱 디자인을 개선하는 방법에 대해 확인해 보세요.
2017년 9월 17일 일요일
<블로그 원문은
여기
에서 확인하실 수 있으며, 블로그 번역 리뷰는
정승욱(Android GDE)
님이 참여해 주셨습니다.>
게시자: Steven Tepper, Google Play 앱 품질 컨설턴트
지난 2월,
안드로이드 웨어 2.0이 출시
되었습니다. 이 버전에서는 새로운
머티리얼 디자인 테마
,
가이드라인
도입과 함께 새로운 하드웨어 기능에 대한 지원이 추가되었으며 세로 UI 패턴이 더 단순해졌습니다. 또한,
Complications API
가 새로 추가되어 앱이 시계 모드에 데이터를 제공하고 시계 모드의 외부 데이터 통합이 더욱 쉬워졌습니다. 최종적으로 크게 업데이트된 사항은 안드로이드 웨어 2.0을 대상으로 하는 앱이 이제는 휴대폰의 도우미 앱에 연결할 필요 없이
독립 실행형 모드
에서 작동할 수 있게 되었다는 점입니다.
안드로이드 웨어 2.0 기기에 맞게 더욱 효과적으로 최적화하는 데 도움이 되도록 탐색, 알림, Complications API 및 독립 실행형 기능과 관련하여 설계 시 고려해야 할 몇 가지 사항이 있습니다.
탐색
단순하고 가끔 이루어지는 탐색에는
WearableDrawerLayout
탐색 창을 사용합니다.
단순한 탐색으로는 앱 설정 액세스, 사용자 전환, 로그아웃 등의 작업이 포함됩니다
.
안드로이드 웨어 2.0에 이를 구현하여 화면 맨 위에서 아래로 스와이프하여 앱의 서로 다른 뷰 또는 섹션 간을 전환하거나, 화면 맨 아래에서 위로 스와이프할 때 상황에 맞는 작업을 실행할 수 있도록 작업 창을 설정할 수도 있습니다.
사용자가 뷰를 신속하게 탐색할 수 있도록 단일 페이지 창으로 탐색 창을 제공합니다.
탐색 창은 다중 페이지 또는 단일 페이지 창으로 제공될 수 있습니다. 단일 페이지 레이아웃은 사용자가 7개 이하의 앱 뷰 사이에서 신속하게 탐색해야 하는 경우 유용합니다. 앱에서 단일 페이지 창을 사용할 경우 아이콘 체계가 명확하고 이해하기 쉬워야 합니다. 그 이유는 이 레이아웃에 어떠한 종류의 텍스트 레이블도 없기 때문입니다. 탐색해야 하는 뷰의 수가 7개를 넘거나 이러한 뷰를 아이콘으로 쉽게 나타낼 수 없는 경우 다중 페이지 창 레이아웃을 대신 사용해야 합니다.
앱에 두세 개의 개별 기능이 있는 경우 여러 앱 런처를 사용합니다.
예를 들어, 앱이 다양한 옵션, 작업 및 뷰를
포함한
활동 추적과 추적된 활동에 대한 기간별 분석 및 관리를 모두 지원하는 경우, 이러한 작업을 처리하는 데 여러 앱 런처를 사용할 수 있습니다. 또한, 앱에 단순한 홈 화면이 있는 경우 이러한 기능을 홈 화면 맨 아래에 일렬로 배치할 수 있습니다.
작업 창 맨 위에 피킹을 사용하여 기본 작업에 신속하게 액세스할 수 있도록 합니다.
뷰와 연결된 기본 작업이 없는 경우 기본 동작을 재정의하고 그 대신에 오버플로 버튼 피킹을 강제 적용하여 오버플로 버튼을 탭할 때 뷰 맨 아래에 모든 작업이 노출되도록 합니다.
안드로이드 웨어 2.0을 사용하는 기기의 경우, 앱이 이러한 새로운 UI 패턴을 활용하여 일관된 사용자 환경을 제공하도록 하세요.
안드로이드 웨어 탐색 및 작업
에 대한 추가 교육 리소스와
탐색
및
작업
창에 대한 머티리얼 디자인 사양을 확인해 보세요.
알림
안드로이드 웨어 2.0에서는 알림 작업을 표시하는 데 가로 스와이프 동작을 사용하지 않고 더욱 단순한 세로 탐색 패턴을 사용합니다. 알림 작업은 이제 알림 맨 아래에 단일 기본 작업(해당하는 경우)으로 표시됩니다. 기본 작업이 없는 경우 알림을 확장하면 세로로 스크롤 가능한 단일 뷰에 옵션이 표시됩니다.
알림은 1.x 및 2.0 기기에서 모두 많은 내용을 변경할 필요 없이 제대로 작동하지만, 표시되는 형태는 꽤 다릅니다.
안드로이드 웨어 2.0 기기용 앱을 만들 때 다음 모범 사례를 적용하여 알림과 관련한 사용자 환경을 개선해보세요.
확장 가능한 알림 지원:
BigTextStyle
을 사용하면 사용자가 시계에서 더 많은 콘텐츠를 볼 수 있습니다.
축소된 형태의 알림 뷰 사용(해당하는 경우):
해당하는 경우 setContentIntent()를 사용하여 알림에 대한 기본 작업을 축소된 형태의 알림 뷰에 추가합니다.
메시지 앱의 경우
MessagingStyle
사용
: 이 스타일을 사용하면 확장된 알림에서 기능이 풍부한 채팅 앱과 같은 환경을 제공할 수 있습니다.
안드로이드 웨어 1
.0과 관련한 사용자 지침 업데이트:
사용자가 가로로 스와이프하여 카드 작업을 수행하도록 지시하는 텍스트를 모두 제거합니다(안드로이드 웨어 1.x 패턴).
인라인 작업을 사용하도록 알림 개선:
이 작업을 구현하면 사용자가 탭할 필요 없이 확장된 알림 세부 사항을 볼 수 있게 됩니다. 메시지 알림에 대한 작업은 스마트 회신 사전 설정, 음성 및 키보드 입력을 포함하여 여러 다양한 입력 방법을 사용할 수 있습니다. 이러한 기능을 활용하여 추가 기능을 제공하고 사용자에게 쾌적한 사용 환경을 제공해 보세요.
웨어러블 기능을 알림에 추가
하는 방법에 대한 자세한 내용을 확인해 보시기 바랍니다.
정보 표시
안드로이드 웨어 2.0의 Complications API는 시계 모드 개발자 및 타사 데이터 제공자가 사용자가 원하는 중요한 정보를 한눈에 파악할 수 있도록 제공하기 더욱 쉽게 해줍니다. 이 API를 지원하는 시계 모드는 시계에 설치된 데이터 제공자를 임의로 사용하도록 구성하는 동시에 그 모습을 계속 완벽하게 제어할 수 있습니다. Complication API를 지원하는 앱을 통해 정보 표시를 지원하는 모든 시계 모드에서 앱의 데이터에 액세스할 수 있습니다. 이러한 정보 표시는 데이터 제공자가 구성한 내용과 시계 모드에 할당된 공간의 양에 따라 다양한 형태(짧은 텍스트, 아이콘, 범위 지정 값, 긴 텍스트, 작은 이미지 및 큰 이미지)로 구현될 수 있습니다.
정보 표시가 시계 모드의 전체 디자인에 적합하고 해당 데이터 형식을 제대로 처리하도록 하려면 정보 표시 지원 기능을 추가할 때 시계 모드 작성자가 다음을 수행하는 것이 좋습니다.
안드로이드 웨어
2.0 SDK에서 제공되는
TextRenderer
클래스를 사용합니다.
이 클래스는 텍스트를 축소하거나, 줄바꿈을 동적으로 지원하거나, 문자열이 텍스트 기반 정보 표시의 경계를 벗어날 때 문자열에 줄임표를 추가하여 줄이는 방법으로 정보 표시 내 텍스트가 경계에 맞게 조정되도록 합니다.
ComplicationDrawable
클래스를 사용하여 정보 표시를 위한 배경 색상, 모양, 테두리 및 글꼴 옵션을 설정합니다.
이 클래스를 사용해 정보 표시가 시계 모드에 대해 렌더링되는 방식을 완벽히 제어할 수 있습니다.
사용자가 설정 메뉴를 통해 시계 모드에서 정보 표시를 구성하거나 조정할 수 있는 방법을 제공하도록 시계 모드를 디자인합니다.
이러한 설정을 생성하는 자세한 방법은 GitHub에 있는
시계 모드 샘플
을 참조하세요.
데이터 제공자
테스트 모음
앱을 사용하여 더미 데이터를 시계 모드 정보 표시 기능에 피드합니다.
그러면 모든 정보 표시가 제대로 렌더링되고 해당 글꼴이 경계에 맞게 서식 지정되어 있는지 확인할 수 있습니다.
정보 표시 데이터 제공자로서,
ComplicationProviderService
를 사용하여 관련 데이터를 노출합니다.
앱이 정보 표시를 위해 제공할 수 있는
ComplicationData
의 유형을 간단히 정의하고 구성하기만 하면 됩니다.
안드로이드 웨어 기기의 독립 실행형 기능
앱이 android.hardware.type.watch 하드웨어 기능 플래그를 사용할 때 도우미 앱이 설치되어 있지 않은 경우 자체적으로 처리 가능하도록 합니다
. 이 기능을 사용하면 도우미 휴대폰 앱을 설치할 필요 없이 안드로이드 웨어 기기에서 바로 앱을 검색하고 설치할 수 있게 됩니다. 따라서 앱이 혼동을 주거나 부실한 사용자 환경을 제공하지 않도록 자체적으로 처리 가능하도록 해야 합니다.
웨어러블 앱이 로그인/인증 또는 기본 기능을 제공하는 데 휴대폰 앱에 의존하지 않도록 합니다
. 웨어러블 앱에서 인증을 위해 복잡한 입력(예: 비밀번호 입력)을 요구할 때 도우미 휴대폰을 이용하도록 가리킬 수 있지만, 앱보다는 계정/비밀번호 입력을 위한 웹 UI를 사용해야 합니다.
도우미 앱이 몇몇 다른 이유로 앱을 지원하기 위해 휴대폰에서 제공되어야 하는 경우 앱은
CapabilityApi
를 사용해야 합니다. 누락된 앱을 설치하도록 도우미 기기에서 사용자를 Play Store 목록 페이지로 올바로 안내하기 위해 이를 사용해야 합니다. 그렇지 않은 경우, 이 앱은 안드로이드 웨어에 내장된 Wi-Fi, GPS 또는 기타 연결 기능을 사용하여 자체적으로 작동해야 합니다.
Play Store 목록 설명 내에 도우미 앱 요구 사항과 관련한 문구를 포함하거나 안드로이드 웨어 앱이 작동해야 하는 방식을 간단히 설명합니다
. 그러면 기대치를 정하고 사용자에게 가능한 한 최상의 환경을 이용할 수 있도록 올바른 앱 설치를 안내하는 데 도움이 됩니다.
웨어러블 앱이 어떠한 휴대폰 도우미 상호작용 없이도 작동할 수 있는 경우
com.google.android.wearable.standalone
플래그를 매니페스트에 포함합니다
. 이 플래그는 웨어러블 앱이 설치 가능하며 Android 또는 iOS 도우미 휴대폰에 페어링되지 않은 경우에도 완벽하게 작동함을 나타냅니다.
여기서 많은 사항을 다루었지만 앱 또는 게임이 최적화되어 있고 안드로이드 웨어에서 최신 패턴 및 기능을 사용하는지 확인하는 데 참고할 수 있는 추가 자료가 있습니다. 안드로이드 웨어용으로 뛰어난 앱을 빌드하려면
품질 가이드라인을 검토
하고 개발자 교육 문서를 확인하여
웨어러블 앱 개발
및
웨어러블 앱 디자인
관련 모범 사례를 자세히 살펴보세요.
Contents
ML/Tensorflow
Android
Flutter
Web/Chrome
Cloud
Google Play
Community
Game
Firebase
검색
Tag
인디게임페스티벌
정책 세미나
창구프로그램
AdMob
AI
Android
Android 12
Android 12L
Android 13
Android 14
Android Assistant
Android Auto
Android Games
Android Jetpack
Android Machine Learning
Android Privacy
Android Studio
Android TV
Android Wear
App Bundle
bootcamp
Business
Chrome
Cloud
Community
compose
Firebase
Flutter
Foldables
Game
gdg
GDSC
google
Google Developer Student Clubs
Google Play
Google Play Games
Interview
Jetpack
Jetpack Compose
kotlin
Large Screens
Library
ma
Material Design
Material You
ML/Tensorflow
mobile games
Now in Android
PC
Play Console
Policy
priva
wa
wear
Wearables
Web
Web/Chrome
Weeklyupdates
WorkManager
Archive
2024
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2023
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2022
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2021
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2020
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2019
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2018
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2017
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2016
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2015
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2014
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2013
12월
11월
10월
9월
8월
7월
6월
5월
4월
3월
2월
1월
2012
12월
11월
10월
9월
8월
7월
6월
5월
3월
2월
1월
2011
12월
11월
Feed