클라이언트 유형 선택

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

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

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

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

데이터 클라이언트

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

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

  • Asset은 이미지 또는 미디어 파일과 같은 대용량 데이터 페이로드에 적합합니다.

메시지 클라이언트

A MessageClient 객체는 메시지를 전송할 수 있으며, Wear OS 기기를 사용하여 핸드헬드 기기에 설치된 앱 버전을 제어하는 것과 같은 리모트 프로시져 콜 (RPC)에 적합합니다.

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

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

채널 클라이언트

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

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

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

데이터 흐름을 관리하고 데이터를 일관되게 유지할 책임은 사용자에게 있습니다. 채널 클라이언트는 데이터 클라이언트와 동일한 수준의 자동 데이터 동기화를 제공하지 않습니다.

클라이언트 비교

다음 표는 다양한 클라이언트의 기능을 비교하여 보여줍니다.

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

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