클라이언트 유형 선택

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

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

데이터 클라이언트

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

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

  • Asset는 이미지나 미디어 파일과 같은 더 큰 데이터 페이로드를 위한 것입니다.

메시지 클라이언트

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

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

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

채널 클라이언트

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

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

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

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

클라이언트 비교

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

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