デバイスを操作する

求職者は、行動を取るようプロバイダに要求することができます。アクションがプロバイダによってサポートされている場合は、確認され、実行される必要があります。それ以外の場合は、無視する必要があります。

メッセージ グループ名
デバイスの操作イベント 0x04
デバイスのアクション コード名
Ring 0x01

着信音を鳴らす

こうしたアクションのユースケースの 1 つに、ユーザーがデバイスを紛失して位置を特定する必要がある場合など、プロバイダに着信音を鳴らすリクエストがあります。呼び出しアクションを受信すると、プロバイダはユーザーが見つけることができるだけの大きな音量でプリロードされた音声ファイルの再生を開始します。徐々に、サウンドの音量を最小の音量から最大の音量に増やすことをおすすめします。呼び出しは、停止を指示する追加のアクションを受信するか、タイムアウト値が経過するまで継続する必要があります。

着信音を開始または停止する必要があるかどうかを示す追加データがメッセージに含まれます。これは、複数のコンポーネント(左右のイヤフォン)を持つプロバイダをサポートするために展開できます。最初のバイトでは、リングの開始をリクエストする場合はビットが 1 に、リングの停止がリクエストされる場合は 0 に設定されます。

たとえば、追加データの最初のバイトが次のように設定される場合:

  • 0x00(0b00000000): すべてのコンポーネントの着信音が停止します
  • 0x01(0b00000001): 右を鳴らし、左を止める
  • 0x02(0b00000010): 左を鳴らし、右を止めると鳴ります
  • 0x03(0b00000011): 左右の着信音を鳴らします

個々の呼び出しをサポートしていないプロバイダでは、1 ビットのみを考慮する必要があります。

  • 0x00(0b00000000): 着信音を停止
  • 0x01(0b00000001): 着信音を鳴らします

追加データの 2 番目のバイトが存在する場合、そのバイトはタイムアウトを秒単位で表します。プロバイダは、この値を使用して着信音を消すまでの時間を決定します。上記のリング右の例と 60 秒のタイムアウトに基づいて、0x013C が追加データとして渡されます。

着信ステータスをシーカーに同期しています

プロバイダが、呼び出し音のステータスが変更されたときにシーカーに通知することもできます。たとえば、ジェスチャーによって呼び出し音が停止した場合などです。その後、シーカーがメッセージを受信し、必要に応じて UI を更新できます。

プロバイダは、上記の例で定義されているのと同じメッセージ形式に従う必要があります。シーカーはこのメッセージをリッスンし、メッセージを受信すると確認応答を行います。

アクションの確認

アクションを受信したら、シーク者がその操作が行われたかどうかを認識できるように、確認応答を行う必要があります。アクションの送信後 1 秒以内に確認応答を受信しない場合(または否定確認応答を受信した場合)、シーカーは現在そのアクションがサポートされていないものとみなされます。