한 손 동작

스마트워치는 이동 중에 사용하기에 적합하지만 사용자의 손이 꽉 차 있을 때는 조작하기가 어려워집니다. 이 문제를 해결하기 위해 Wear OS 7에서는 OEM을 위한 새로운 한 손 제스처 프레임워크와 Wear OS에서 Jetpack Compose를 사용하는 개발자를 위한 Gesture API를 도입합니다. 이 기본 프레임워크는 Pixel Watch 기기 (Pixel Watch 3 이상)에서만 독점적으로 채택되지만 모든 제조업체에서 사용할 수 있습니다. 이 API를 지원하면 다른 OEM이 선택할 때 앱의 제스처 지원이 생태계 전반에서 자동으로 확장될 수 있습니다.

원활한 터치 없는 환경을 빌드하려면 다음 가이드라인에 따라 한 손 제스처가 앱 환경에 적합한지 확인하세요.

지원되는 제스처 및 작업

Wear OS 제스처 프레임워크는 기본 작업닫기 작업 이라는 두 가지 제스처 유형을 지원합니다. Pixel Watch에서 기본 작업은 두 번 손가락 모으기 제스처에 매핑되고 닫기 작업은 손목 돌리기 제스처에 매핑됩니다.

두 번 손가락 모으기: 기본 작업을 트리거합니다.
손목 돌리기: 닫기 작업을 트리거합니다.

기본 작업

기본 작업은 사용자가 화면 또는 페이지에서 완료할 수 있는 주요 작업(예: 전화받기 또는 미디어 컨트롤에서 재생 또는 일시중지 전환)에 매핑되어야 합니다. 페이지를 스크롤할 수 있는 경우 앱은 한 번에 하나의 UI 요소만 기본 작업에 매핑할 수 있습니다.

전화받기
미디어 컨트롤에서 재생 또는 일시중지 전환

알람 일시중지
스크롤 가능한 콘텐츠 스크롤

두 번 손가락 모으기는 사용자가 제스처, 음성을 사용하거나 요소가 자동으로 열릴 때 (예: 알림 또는 미디어 컨트롤) 해당 UI 요소 로 이동할 수 있는 경우에 가장 유용합니다. UI 요소로 이동하는 유일한 방법이 터치 또는 버튼인 경우 작업은 기본 작업 제스처에 적합한 사용 사례가 아닙니다.

닫기 작업

기본적으로 닫기 작업은 시스템 뒤로에 매핑되고 이전 화면으로 돌아갑니다. 앱은 특정 사용 사례에 대해 손목 돌리기를 재정의할 수 있지만 이러한 예외는 여전히 닫기, 무음 또는 최소화 개념과 일치해야 합니다. 재정의 예로는 전화를 닫는 대신 무음으로 설정하고 알림을 닫는 대신 닫거나 삭제하는 것이 있습니다. 이 작업은 아무리 유혹적이더라도 앱의 임의 작업에 매핑되어서는 안 됩니다. 닫기 작업을 뒤로 또는 닫기 명령의 일관된 표시기로 사용하는 사용자 모델을 위반하기 때문입니다.

닫기 작업은 활성 운동 화면 또는 긴급 전화와 같이 실수로 트리거되어 위험을 초래하는 경우 화면에서 사용 중지될 수도 있습니다. 특정 화면에서 손목 돌리기를 사용 중지하려면 닫기 작업을 구독하되 전달된 제스처 이벤트로 아무것도 하지 마세요. 즉, 빈 구독을 제공합니다.

빠른 제스처 가이드라인

Wear OS 제스처 프레임워크는 방해 및 컨트롤을 처리하도록 설계되었습니다. 전체 시계 탐색을 사용 설정하도록 설계되지 않았습니다. 앱에서 한 손 제스처를 채택하려면 다음 가이드라인을 따르세요.

  1. 탐색 최소화: 알림 닫기 또는 미디어 일시중지 및 재개와 같은 일회성 상호작용에 제스처를 사용합니다.
  2. 스크롤을 적게 사용: 기본 제스처 (두 번 손가락 모으기)를 사용하여 스크롤할 수 있지만 모든 스크롤 가능한 콘텐츠의 기본 환경이 되어서는 안 됩니다. 다음 조건을 충족할 수 있는 경우에만 제스처 스크롤을 사용 설정합니다.
    • 사용자가 제스처, 음성 명령 또는 미디어 컨트롤 및 지도 탐색과 같이 자동으로 실행되는 화면에서 한 손 또는 핸즈프리 방식으로 스크롤 뷰로 이동할 수 있습니다.
    • 콘텐츠는 운동 요약과 같이 한눈에 가치를 제공하며, 뷰로 스크롤된 후 기본 제스처 작업을 실행할 수 있는 선택적 단일 버튼 (예: 완료 가장자리 버튼) 외에 추가 상호작용이 필요하지 않습니다.
  3. 막다른 길 피하기: 제스처 작업으로 인해 사용자가 터치스크린이나 실제 버튼을 사용하지 않고는 여정을 계속 진행할 수 없는 막다른 길이 발생하지 않도록 합니다.
  4. 숨겨진 작업 피하기: 제스처 전용 작업을 숨기지 마세요. 사용자가 두 번 손가락 모으기로 작업을 실행할 수 있는 경우 동일한 작업을 실행하는 탭 가능한 버튼이 표시되어야 합니다. 예외는 사용자 의도를 예측하기 어려운 뒤로 이동을 위한 손목 돌리기와 같은 범용 작업입니다.

제스처 상호작용 흐름 및 의견

제스처를 사용할 수 있고 사용자가 제스처를 실행하면 다음 이벤트 시퀀스가 발생합니다.

  1. 제스처 힌트: 기본 작업 제스처를 사용할 수 있는 경우 제스처를 실행하는 손의 애니메이션 그림이 화면에 표시되어 사용자에게 사용할 수 있는 제스처와 제스처가 작동할 UI 요소를 알려줍니다. 일반적으로 힌트는 화면의 UI 요소에 매핑되지 않는 한 닫기 작업에 표시되지 않습니다.
  2. 햅틱 피드백: 제스처 작업이 성공적으로 처리되면 짧고 선명한 햅틱이 재생됩니다.
  3. 소리 및 시각적 피드백: 터치 상호작용과 함께 발생하는 UI 요소와 관련된 소리 또는 시각적 피드백도 제스처 작업으로 트리거되어야 합니다. 일관된 환경을 제공하려면 앱의 기존 터치 오디오 및 시각적 콜백을 제스처 이벤트에 연결해야 합니다.

    예: 카메라에는 제스처로 트리거해야 하는 연결된 셔터 소리 및 버튼 상호작용이 있습니다.

제스처 힌트, 교육, 설정

제스처 작업을 검색 가능하게 만들기 위해 Pixel Watch는 시계 내 대화형 튜토리얼과 Gesture API 내의 힌트 프레임워크를 제공합니다. 제스처 설정은 시스템 설정에도 제공됩니다. Pixel Watch에서는 설정 > 제스처 > 손 제스처에 있습니다.

튜토리얼 온보딩

Pixel Watch에서 사용자는 대화형 튜토리얼과 Pixel 도움말을 통해 손 제스처를 소개받습니다. 앱 내에서 고유한 제스처 튜토리얼을 만들 필요는 없습니다. 대신 Wear OS에서 Jetpack Compose가 제공하는 상황별 힌트를 활용하여 앱 내에서 제스처를 사용할 수 있는 위치를 사용자에게 알리세요.

두 번 손가락 모으기 온보딩 튜토리얼 화면
손목 돌리기 온보딩 튜토리얼 화면

상황별 힌트

사용자가 앱 내에서 제스처를 검색할 수 있도록 제스처 작업을 실제 어포던스와 연결하는 힌트를 제공합니다. 미묘한 힌트는 더 명확하고 읽기 쉬우며 다른 UI 요소를 최소한으로 방해합니다.

상황별 힌트 유형은 다음과 같습니다.

  • 버튼 힌트
    • 버튼과 같은 UI 요소 내에 애니메이션 아이콘으로 표시되어 버튼 라벨이나 아이콘과 같은 해당 요소의 일반적인 콘텐츠를 일시적으로 숨깁니다.
  • 플로팅 힌트
    • 제스처가 영향을 미치는 UI 요소를 가리키는 작은 말풍선 오버레이에 포함된 애니메이션 아이콘입니다. 플로팅 힌트는 일반적으로 가리키는 UI 요소가 힌트를 포함하기에 너무 작은 경우에 사용됩니다. 기본 예는 스크롤입니다. 여기서 힌트 말풍선은 스크롤바를 가리켜 기본 제스처가 스크롤됨을 나타냅니다.
    • 힌트는 기본 방향 (위, 아래, 왼쪽, 오른쪽) 중 하나를 가리킬 수 있습니다.

버튼 힌트

버튼 힌트 예시

기존 아이콘 또는 텍스트와 일시적으로 바뀝니다.

플로팅 힌트

플로팅 힌트 예시

버튼 힌트를 포함하기에 너무 작은 화면의 요소를 가리킵니다.

색상 안내:

  • 버튼 힌트
    • 기본적으로 애니메이션 벡터 드로어블 (AVD) 색상은 버튼 아이콘 또는 텍스트 색상 (LocalContentColor)과 일치하도록 색조가 적용됩니다.
    • 필요한 경우 AVD에 맞춤 색조를 적용할 수 있습니다. 그러나 일반적으로 색상은 적절한 대비를 제공하기 위해 일시적으로 대체하는 콘텐츠와 동일해야 합니다.
  • 플로팅 힌트
    • Tertiary 색상이 힌트 컨테이너에 적용됩니다.
    • AVD 색상에 onTertiary 색조가 적용됩니다.
    • 힌트 색상과 배경 도형 색상을 모두 맞춤설정할 수 있습니다.

버튼 힌트 색상 안내

버튼 힌트 색상 안내 예시

AVD 색상이 버튼 아이콘 또는 텍스트 색상과 일치합니다.

플로팅 힌트 색상 안내

플로팅 힌트 색상 안내 예시

힌트 컨테이너는 Tertiary를 사용하고 AVD는 onTertiary를 사용합니다.

힌트 케이던스 규칙:

사용자가 제스처를 검색할 수 있도록 플랫폼은 환경에 힌트를 표시해야 하는 빈도를 구성할 수 있도록 제공합니다. 힌트 케이던스 로직은 환경별이 아닌 전역입니다. Wear OS 제스처 프레임워크는 케이던스를 제어하고 사용자가 케이던스를 조정할 수 있는 설정 (Pixel Watch에서는 제스처 > 손 제스처 > 제스처 힌트)을 노출합니다.

  • 버튼 힌트
    • 제스처 작업이 있는 앱을 처음 실행하거나 제스처 작업을 도입하는 앱을 업데이트하면 해당 작업에 대한 힌트가 처음에는 한 번 이상 표시됩니다. 힌트는 사용자 정의 케이던스 (예: 항상, 매일, 매월)에 따라 다시 표시됩니다. 힌트는 기본적으로 항상 으로 설정됩니다.
  • 플로팅 힌트
    • 인접한 콘텐츠를 가리기 때문에 플로팅 힌트는 환경당 하루에 최대 한 번 표시됩니다. 전역 힌트 케이던스가 하루에 한 번보다 적은 값 (매일)으로 설정된 경우 시스템은 더 적은 케이던스를 사용합니다.
Pixel Watch의 동작 힌트 설정 화면
Pixel Watch의 제스처 힌트 설정 화면

추가 리소스

앱에서 한 손 제스처를 구현하는 방법에 관한 개발자 가이드는 Wear OS로 손목용 앱 빌드를 참고하세요.