착용 감지 개요
착용 감지 기능은 기기의 지원 수준, 활성화 상태 및 현재 좌우 착용 상태를 제공합니다. 설정 가능한 기기에서는 SDK를 통해 착용 감지를 켜거나 끌 수 있습니다.
기능 개요
착용 감지 지원 수준 확인
기기가 보고하는 착용 감지 지원 수준 조회
착용 감지 상태 확인
기기가 보고하는 활성화 상태와 현재 착용 상태 조회
착용 감지 설정
설정 가능한 기기에서 착용 감지 활성화 또는 비활성화
AI를 활용해 구현
AI로 구현
AI로 이 워크플로 구현
공식 “AIBuds 착용 감지 관리” 스킬을 사용해 앱에 맞게 구현하세요.
https://docs-aibuds.github.io/ko/skills/manage-aibuds-wear-detection을 읽고 지침을 따르세요. 이 스킬로 “AIBuds 착용 감지 관리”을 이 iOS 프로젝트에 구현하고 검증하세요.시작하기
- 기기 연결 - 기기가 연결되어 사용할 수 있을 때까지 기다립니다.
- 프로토콜 확인 -
DeviceWearDetectionAPI지원 여부를 확인합니다. - 지원 수준 확인 -
wearDetectionCapability로 착용 감지 지원 및 설정 가능 여부를 확인합니다. - 현재 상태 확인 -
isWearDetectionEnabled와wearStatus를 읽습니다. - 지원되는 경우에만 설정 - 설정 가능한 기기에서만
setWearDetection(enabled:completion:)을 호출합니다.
핵심 개념
지원 수준
WearDetectionCapability는 다음 세 가지 지원 수준을 구분합니다.
| 값 | 의미 |
|---|---|
.none | 착용 감지를 지원하지 않습니다. |
.supportedNotConfigurable | 착용 감지를 지원하지만 이 API로 활성화 상태를 변경할 수 없습니다. |
.supportedAndConfigurable | 착용 감지를 지원하며 켜거나 끌 수 있습니다. |
상태
isWearDetectionEnabled는 착용 감지의 현재 활성화 여부를 나타냅니다.WearStatus는 알 수 없음, 미착용, 왼쪽만 착용, 오른쪽만 착용 또는 양쪽 착용 상태를 나타냅니다.- 지원 수준, 활성화 상태 및 착용 상태는 서로 별개의 값입니다. 한 값으로 다른 값을 추정하지 마세요.
프로토콜 참고
착용 감지 기능은 DeviceWearDetectionAPI를 통해 사용합니다.
- Swift
- Objective-C
guard let device = device as? DeviceWearDetectionAPI else {
print("Device does not support DeviceWearDetectionAPI")
return
}id<AIBudsDeviceWearDetectionAPI> device = (id<AIBudsDeviceWearDetectionAPI>)self.device;
if (![device conformsToProtocol:@protocol(AIBudsDeviceWearDetectionAPI)]) {
NSLog(@"Device does not support AIBudsDeviceWearDetectionAPI");
return;
}권장 사항
- 설정 전 지원 수준 확인:
.supportedAndConfigurable인 경우에만 활성화 상태를 변경하세요. - 현재 속성 사용: 존재하지 않는 조회 메서드를 만들지 말고 SDK의 현재 스냅샷 속성을 읽으세요.
- 변경 관찰: 활성화 상태와 착용 상태 변경은
DeviceDelegate콜백에서 처리하세요. - 알 수 없음 상태 구분:
.unknown을.notWearing과 구분하세요.
참고
- SDK에 enum case가 있어도 모든 기기가 해당 기능을 지원한다는 의미는 아닙니다.
- SDK는 착용 상태 변경에 따른 자동 재생 동작을 보장하지 않습니다. 앱 동작은 제품 요구 사항에 맞게 구현하세요.
- SDK Demo는
DeviceWearDetectionAPI에서 지원 수준과 활성화 상태를 읽고 설정 가능한 경우에만 설정 UI를 표시합니다.