클라이언트 유형 선택

Wear OS 데이터 영역 API는 여러 유형의 클라이언트로 구성되며, 이는 다양한 유형의 데이터와 다양한 연결 조건에서 유용합니다.

이 페이지에서는 각 클라이언트 유형을 소개하고 다양한 클라이언트의 기능을 비교하는 표를 제공합니다. 이 정보를 사용하여 앱에 가장 적합한 클라이언트 유형 집합을 선택할 수 있습니다.

Data Layer API를 사용해야 하는 경우

상호작용이 로컬 시계와 로컬 휴대전화 간에만 이루어지는 경우 Data Layer API를 사용합니다. 자세한 예는 데이터 영역 일반 사용 사례를 참고하세요.

데이터 클라이언트

DataClient 객체를 사용하면 DataItem 또는 Asset을 읽거나 여기에 쓸 수 있습니다.

  • 각 DataItem는 사용자가 소유한 모든 근처 기기에 브로드캐스트되고 동기화되는 정보 단위입니다. DataItem는 영구적으로 저장되며 데이터 항목이 삭제될 때까지 기기에서 콘텐츠를 읽을 수 있습니다.

  • Asset는 이미지나 미디어 파일과 같은 더 큰 데이터 페이로드에 사용됩니다.

메시지 클라이언트

MessageClient 객체는 메시지를 보낼 수 있으며 리모트 프로시저 콜 (RPC)에 적합합니다. 예를 들어 Wear OS 기기를 사용하여 휴대기기에 설치된 앱 버전을 제어할 수 있습니다.

메시지는 sendMessage()를 사용하는 단방향 요청이나 sendRequest()를 사용하는 요청 및 응답 통신 모델에 매우 유용합니다. 데이터 클라이언트와 달리 메시지 클라이언트는 메시지를 전송하기 위해 노드가 네트워크에 연결되어 있어야 합니다.

sendMessage() 메서드는 원격 노드에 전송하기 위해 최선을 다하며 기본 제공 재시도 메커니즘을 포함하지 않습니다. 네트워크 전송이 시작되기 전에 대상 기기의 연결이 끊어지면 메서드는 TARGET_NODE_NOT_CONNECTED를 반환합니다.

채널 클라이언트

ChannelClient 객체는 기기 간에 스트림 지향 통신을 제공합니다. 채널은 두 노드 간의 양방향 통신 파이프로, 다음과 같은 사용 사례에 유용합니다.

  • 인터넷을 사용할 수 없는 경우 두 대 이상의 연결된 기기 간에 데이터 파일을 전송합니다. ChannelClient는 연결된 기기와 동기화하기 전에 로컬 기기에 애셋의 복사본을 만드는 DataClient에 비해 디스크 공간을 덜 차지합니다.
  • 너무 커서 MessageClient를 사용하여 전송할 수 없는 파일을 안정적으로 전송할 수 있습니다.
  • 마이크의 음성 데이터와 같은 스트림된 데이터를 전송합니다.

채널을 열면 데이터 클라이언트에 필요한 개별 DataItem 단위가 아닌 연속 바이트 스트림으로 데이터를 주고받을 수 있습니다.

데이터 흐름을 관리하고 데이터 일관성을 유지하는 것은 개발자의 책임입니다. 채널 클라이언트는 데이터 클라이언트와 동일한 수준의 자동 데이터 동기화를 제공하지 않습니다.

클라이언트 비교

다음 표에서는 다양한 클라이언트의 기능을 비교합니다.

클라이언트 유형 데이터 지속성 100KB보다 큰 데이터 지원 여부 사용할 네트워크 오프라인 작동 여부
데이터 클라이언트 데이터가 무기한으로 유지됨 예(Asset 객체 사용) 블루투스를 사용하는 것이 좋습니다. 데이터가 클라우드에 백업됩니다. 블루투스를 사용할 수 있는 경우 이 백업은 비동기식으로 실행됩니다. 예, 읽기 및 쓰기 모두
고객에게 메시지 보내기 지속성 없음 및 재시도 없음 아니요 블루투스를 선호하지만 Wi-Fi만 사용할 수 있는 경우 Wi-Fi를 사용할 수 있음 아니요
채널 클라이언트 지속성 없음 (연결 지향) 예 블루투스를 선호하지만 Wi-Fi만 사용할 수 있는 경우 Wi-Fi를 사용할 수 있음 아니요

Data Layer API 작업에 관한 자세한 내용은 데이터 동기화 가이드를 참고하세요. Data Layer API를 사용할 때 전력 고려사항은 전력 절약 가이드를 참고하세요.