メインコンテンツまでスキップ

装着検出概要

装着検出は、デバイスの Capability、有効状態、現在の左右の装着状態を提供します。設定可能な Capability を持つデバイスでは、SDK から検出を有効または無効にできます。

機能概要

AI を活用して実装

AI で実装

AI でこのワークフローを実装

公式の「AIBuds 装着検出の管理」スキルを使い、アプリに合わせて実装します。

https://docs-aibuds.github.io/ja/skills/manage-aibuds-wear-detection を読み、その指示に従ってください。このスキルで「AIBuds 装着検出の管理」をこの iOS プロジェクトに実装し、検証してください。
公式スキルを見る

はじめに

  1. デバイスへ接続 - デバイスが接続され、使用可能になるまで待ちます。
  2. プロトコル準拠を確認 - DeviceWearDetectionAPI への対応を確認します。
  3. Capability を取得 - wearDetectionCapability で装着検出への対応と設定可否を確認します。
  4. 現在の状態を取得 - isWearDetectionEnabledwearStatus を読み取ります。
  5. 対応時のみ設定 - 設定可能なデバイスでのみ setWearDetection(enabled:completion:) を呼び出します。

主要な概念

対応機能(Capability)

WearDetectionCapability は 3 段階の対応状況を示します。

意味
.none装着検出に対応していません。
.supportedNotConfigurable装着検出に対応していますが、この API から有効状態を変更できません。
.supportedAndConfigurable装着検出に対応し、有効/無効を切り替えられます。

状態

  • isWearDetectionEnabled は検出が現在有効かどうかを示します。
  • WearStatus は、不明、未装着、左のみ、右のみ、両耳装着の状態を示します。
  • Capability、有効状態、装着状態は別々の値です。一方から他方を推測しないでください。

プロトコルリファレンス

装着検出には DeviceWearDetectionAPI からアクセスします。

Swift
guard let device = device as? DeviceWearDetectionAPI else {
    print("Device does not support DeviceWearDetectionAPI")
    return
}

ベストプラクティス

  1. 設定前に Capability を確認:有効状態を変更できるのは .supportedAndConfigurable の場合だけです。
  2. 現在のプロパティを使用:存在しないクエリ API を想定せず、SDK が提供する現在のスナップショットを読み取ります。
  3. 変更を監視:有効状態と装着状態の変化には DeviceDelegate コールバックを使用します。
  4. 不明状態を区別.unknown.notWearing を別の状態として扱います。

注意事項

  • SDK に列挙値が存在しても、すべてのデバイスがその Capability に対応するとは限りません。
  • 装着状態が変化したときの自動再生動作は SDK で保証されません。アプリの動作は製品要件に基づいて実装してください。
  • SDK Demo は DeviceWearDetectionAPI から Capability と有効状態を読み取り、設定可能な場合だけ設定 UI を表示します。