装着検出概要
装着検出は、デバイスの Capability、有効状態、現在の左右の装着状態を提供します。設定可能な Capability を持つデバイスでは、SDK から検出を有効または無効にできます。
機能概要
装着検出の対応状況
デバイスが通知する装着検出の対応状況を確認する
装着検出の状態
装着検出の有効状態と、デバイスが通知する現在の装着状態を確認する
装着検出の設定
設定に対応したデバイスで装着検出を有効または無効にする
AI を活用して実装
AI で実装
AI でこのワークフローを実装
公式の「AIBuds 装着検出の管理」スキルを使い、アプリに合わせて実装します。
https://docs-aibuds.github.io/ja/skills/manage-aibuds-wear-detection を読み、その指示に従ってください。このスキルで「AIBuds 装着検出の管理」をこの iOS プロジェクトに実装し、検証してください。はじめに
- デバイスへ接続 - デバイスが接続され、使用可能になるまで待ちます。
- プロトコル準拠を確認 -
DeviceWearDetectionAPIへの対応を確認します。 - Capability を取得 -
wearDetectionCapabilityで装着検出への対応と設定可否を確認します。 - 現在の状態を取得 -
isWearDetectionEnabledとwearStatusを読み取ります。 - 対応時のみ設定 - 設定可能なデバイスでのみ
setWearDetection(enabled:completion:)を呼び出します。
主要な概念
対応機能(Capability)
WearDetectionCapability は 3 段階の対応状況を示します。
| 値 | 意味 |
|---|---|
.none | 装着検出に対応していません。 |
.supportedNotConfigurable | 装着検出に対応していますが、この API から有効状態を変更できません。 |
.supportedAndConfigurable | 装着検出に対応し、有効/無効を切り替えられます。 |
状態
isWearDetectionEnabledは検出が現在有効かどうかを示します。WearStatusは、不明、未装着、左のみ、右のみ、両耳装着の状態を示します。- Capability、有効状態、装着状態は別々の値です。一方から他方を推測しないでください。
プロトコルリファレンス
装着検出には 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;
}ベストプラクティス
- 設定前に Capability を確認:有効状態を変更できるのは
.supportedAndConfigurableの場合だけです。 - 現在のプロパティを使用:存在しないクエリ API を想定せず、SDK が提供する現在のスナップショットを読み取ります。
- 変更を監視:有効状態と装着状態の変化には
DeviceDelegateコールバックを使用します。 - 不明状態を区別:
.unknownと.notWearingを別の状態として扱います。
注意事項
- SDK に列挙値が存在しても、すべてのデバイスがその Capability に対応するとは限りません。
- 装着状態が変化したときの自動再生動作は SDK で保証されません。アプリの動作は製品要件に基づいて実装してください。
- SDK Demo は
DeviceWearDetectionAPIから Capability と有効状態を読み取り、設定可能な場合だけ設定 UI を表示します。