Wear OS by Google을 사용하면 Android 또는 iOS 스마트폰에 액세스하지 않고도 시계가 네트워크와 직접 통신할 수 있습니다.
이 페이지에 필요한 종속 항목 및 기본 요건은 다음과 같습니다.
- Google Play 서비스의 최신 버전
- Wear OS 기기 또는 Wear AVD
이와 별도로 Google Play 서비스의 일부인 Wearable Data Layer API는 앱을 위한 선택적 통신 채널을 제공합니다. Wear 앱은 Wearable Data Layer API를 사용하여 전화 앱과 통신할 수 있지만, 이 API를 사용하여 네트워크에 연결하는 것은 권장되지 않습니다.
Data Layer API는 다음과 같이, 시스템이 전송하고 동기화할 수 있는 데이터 객체 집합 및 앱에 특정 이벤트를 알려주는 리스너로 구성되어 있습니다.
- 데이터 항목
-
DataItem
은 핸드헬드와 웨어러블 간의 자동 동기화 기능을 데이터 저장용량에 제공합니다. - 애셋
Asset
객체는 이미지와 같은 데이터의 바이너리 blob을 전송하기 위한 것입니다. 애셋을 데이터 항목에 첨부하면 시스템에서 자동으로 전송을 처리하며 재전송을 방지하기 위해 대용량 애셋을 캐싱하여 블루투스 대역폭을 보존합니다.- 메시지
-
MessageClient
는 메시지를 전송할 수 있으며, 웨어러블에서 핸드헬드 미디어 플레이어를 제어하거나 핸드헬드에서 웨어러블의 인텐트를 시작하는 것과 같은 리모트 프로시져 콜(RPC)에 적합합니다. 메시지는 단방향 요청 또는 요청/응답 통신 모델에도 매우 유용합니다. 핸드헬드와 웨어러블이 연결되면 시스템은 전달을 위한 대기열에 메시지를 추가하고 성공 결과 코드를 반환합니다. 기기가 연결되어 있지 않으면 오류가 반환됩니다. 성공 결과 코드가 수신되어도 메시지가 제대로 전달되지 않았을 수 있습니다. 성공 결과 코드를 수신한 후 기기 연결이 끊길 수 있기 때문입니다. - 채널
-
ChannelClient
를 사용하여 핸드헬드 기기에서 웨어러블 기기로 음악 및 동영상 파일과 같은 대용량 항목을 전송할 수 있습니다. 데이터 전송에ChannelClient
를 사용하면 다음과 같은 이점이 있습니다.DataItem
객체에 첨부된Asset
객체를 사용할 경우 자동 동기화 없이도 둘 이상의 연결된 기기 간에 대용량 데이터 파일을 전송할 수 있습니다.ChannelClient
는 연결된 기기와 동기화하기 전에 로컬 기기에 애셋의 복사본을 만드는DataClient
에 비해 디스크 공간을 덜 차지합니다.- 너무 커서
MessageClient
를 사용하여 전송할 수 없는 파일을 안정적으로 전송할 수 있습니다. - 네트워크 서버에서 가져온 음악이나 마이크의 음성 데이터와 같은 스트리밍된 데이터를 전송할 수 있습니다.
- WearableListenerService(서비스용)
WearableListenerService
를 확장하면 서비스의 중요한 데이터 영역 이벤트를 수신 대기할 수 있습니다. 시스템은WearableListenerService
의 수명 주기를 관리하며, 데이터 항목이나 메시지를 전송해야 하면 서비스에 바인딩하고 필요한 작업이 없으면 서비스 바인딩을 해제합니다.- OnDataChangedListener(포그라운드 활동용)
-
활동에서
OnDataChangedListener
를 구현하면 포그라운드에서 활동이 일어날 때 중요한 데이터 영역 이벤트를 수신 대기할 수 있습니다.WearableListenerService
대신 이 방법을 사용하면 사용자가 앱을 적극적으로 사용하는 경우에만 변경사항을 수신 대기할 수 있습니다.
경고: 이러한 API는 핸드헬드와 웨어러블 간의 통신을 위해 설계되었기 때문에 핸드헬드와 웨어러블 기기 간에 통신을 설정하려면 이러한 API만 사용해야 합니다. 예를 들면, 하위 레벨 소켓을 열어 통신 채널을 만들려고 하지 마세요.
중요: DataLayer API가 기기 간에 성공적으로 통신하려면 스마트폰과 Wear APK 서명 및 서명 체계가 동일해야 합니다. 여기에는 v1 및/또는 v2 서명 사용이 포함됩니다. build.gradle
에서 또는 서명된 APK 생성 마법사를 사용할 때 서명 체계가 올바르게 설정되어 있는지 확인하세요.
Wear OS는 핸드헬드 기기에 연결된 여러 웨어러블을 지원합니다. 예를 들어, 사용자가 핸드헬드에 메모를 저장하면 그 사용자의 모든 Wear 기기에 자동으로 메모가 나타납니다. Google 서버는 기기 간 데이터 동기화를 지원하기 위해 기기 네트워크에 클라우드 노드를 호스팅합니다. 시스템은 직접 연결된 기기, 클라우드 노드, 그리고 Wi-Fi를 통해 클라우드 노드에 연결된 웨어러블 기기에 데이터를 동기화합니다.

그림 1. 핸드헬드 및 웨어러블 기기가 있는 노드의 샘플 네트워크
- 네트워크 액세스 및 동기화
- 이 과정에서는 고대역폭 네트워크를 확보하는 방법을 설명합니다. 또한 클라우드 메시징 등을 위한 출발점을 제공합니다.
- 웨어러블 데이터 영역에 액세스
- 이 과정에서는 Data Layer API에 액세스하기 위해 클라이언트를 만드는 방법을 보여줍니다.
- 데이터 항목 동기화
- 데이터 항목은 핸드헬드에서 웨어러블로 자동으로 동기화되는 복제된 데이터 저장소에 저장되는 객체입니다.
- 애셋 전송
- 애셋은 일반적으로 이미지 또는 미디어를 전송하는 데 사용하는 데이터의 바이너리 blob입니다.
- 메시지 주고받기
- 메시지는 웨어러블과 핸드헬드 간에 주고받을 수 있는 fire-and-forget 메시지용으로 설계됩니다.
- 데이터 영역 이벤트 처리
- 데이터 영역에서 발생하는 변경사항과 이벤트에 관한 알림을 받습니다.
- Wear 앱을 GoogleApi로 이전
- GoogleApiClient 클래스로부터 이전합니다.