Data Layer API를 사용하여 네트워크에서 기기 탐색

기기는 Wi-Fi 또는 모바일 데이터 연결을 사용하여 직접 인터넷에 연결하거나 페어링된 블루투스 기기를 통해 간접적으로 인터넷에 연결할 수 있습니다.

연결 가능한 노드 및 근처 노드

기기가 온라인 상태이고 블루투스를 통해 직접 또는 간접적으로 클라우드를 중개자로 사용하여 다른 기기와 통신할 수 있는 경우 연결 가능한 것으로 간주됩니다.

클라우드를 사용하지 않고 블루투스를 통해 직접 연결할 수 있는 경우 기기는 근처에 있는 것으로 간주됩니다.

재연결 시간에 영향을 미치는 활동

상황에 따라 기기에서 연결을 다시 설정하는 데 최대 4분이 걸릴 수 있습니다. 이러한 시나리오에는 다음이 포함됩니다.

  • Wear OS 기기 비활성: Wear OS 기기를 사용자의 손목에서 풀거나 장시간 사용하지 않으면 재연결 시간이 연장될 수 있습니다.
  • 잠자기 상태: 휴대기기의 절전 잠자기 상태는 백그라운드 프로세스를 제한하여 기기의 재연결 시간을 늘릴 수 있습니다.
  • 사용자 상호작용: 사용자가 휴대기기와 Wear OS 기기와 거의 동시에 상호작용하기 시작하면 재연결 프로세스가 빨라지는 경우가 많습니다.

노드 클라이언트를 사용하여 모든 기기 검색

NodeClient 객체는 각 기기의 기능과 관계없이 네트워크에 연결된 Android 지원 기기 목록을 식별하고 브로드캐스트합니다. 기기의 모든 앱은 네트워크에 참여하는 새 기기 또는 기존 기기가 오프라인으로 전환되는 등 이러한 이벤트 알림을 수신합니다.

NodeClient 클래스는 앱이 설치되지 않은 기기를 검색하는 데 특히 유용합니다.

기능 클라이언트를 사용하여 특정 기기 탐색

CapabilityClient 객체는 Wear OS 네트워크의 어떤 기기가 특정 앱 기능을 지원하는지에 관한 정보를 제공합니다. 기능은 앱이 빌드 시간에 정의하거나 런타임에 동적으로 구성하는 기능입니다.

예를 들어 모바일 Android 앱에서 동영상 재생의 원격 제어를 지원한다고 알릴 수 있습니다. 앱의 Wear OS 버전은 CapabilityClient를 사용하여 앱의 모바일 버전이 근처 기기에 설치되어 있고 이 기능을 지원하는지 확인할 수 있습니다. 지원한다면 Wear OS 앱은 재생 및 일시중지 버튼을 표시할 수 있으므로 휴대기기에서 재생 중인 동영상을 Wear OS 기기에서 제어할 수 있습니다. 기능 브로드캐스트는 반대 방향으로도 작동합니다. Wear OS 앱은 지원하는 기능을 나열할 수 있습니다.

앱의 새로운 기능 확인

CapabilityClient를 사용하여 통신해야 하는 기기의 노드 ID를 확인합니다. 예를 들어 휴대기기의 앱에 새로운 기능이 있는지 확인해야 하는 경우 휴대기기에 이러한 새 기능을 위한 기능을 만듭니다. 그러면 Wear OS 앱이 이 기능을 지원하는 기기를 쿼리할 수 있습니다. 모든 기기에서 이 기능이 없다면 사용자에게 이 기능을 지원하는 앱 버전이 없다는 의미이므로 앱의 로직에서 적절하게 처리해야 합니다. 휴대기기가 항상 통신하기에 올바른 노드라고 가정하면 전화 앱이 이 기능을 지원하지 않으므로 메시지가 전송되지 않을 수 있습니다.

네트워크에 Wear OS 기기가 하나만 있는지 확인

근처에 다른 Android 지원 기기가 없으므로 CapabilityClient를 사용하여 앱이 독립형 모드로 작동해야 하는지 확인할 수 있습니다. FILTER_ALL를 전달하면 다른 기기가 결과에 표시되면 안 됩니다.