ヘルスサービスで、心拍数、距離、速度などの瞬間的な指標のデバウンスされた目標がサポートされるようになりました。目標のデバウンスにより、ワークアウト中に心拍数などの特定のしきい値や範囲を維持したいユーザーのユーザー エクスペリエンスが向上します。
デバウンスされた目標は、条件が true になるたびに同じイベントが短期間に複数回出力されるのを防ぎます。代わりに、イベントは、しきい値が構成可能な期間(通常は数秒)を超え続けた場合にのみ発行されます。[Duration at threshold] は、Health Services がアラート イベントを送信する前に、ユーザーが指定されたしきい値を超える必要がある連続した時間の長さです。
目標登録直後にイベントが送信されないようにすることもできます。初期遅延は、目標登録からアプリに通知されるまでに経過する必要がある時間です。
「しきい値での継続時間」と「初期遅延」を組み合わせると、アプリでユーザーがフィットネスの目標を設定できる場合に、ユーザーに表示される誤検出とアラートの繰り返しが減ります。
ケーススタディ: 心拍数
ディバウンスされた目標の一般的なユースケースには、心拍ゾーンがあります。心拍数は、特に有酸素運動のような激しいアクティビティの最中は、エクササイズ中に常に変動します。デバウンスをサポートしていないと、ユーザーの心拍数が目標範囲を超えたり下回ったりするたびに、アプリが短期間に多くのアラートを受け取る可能性があります。
「初期遅延」を導入すると、指定した期間が経過した後にのみ目標アラートを送信するようヘルスサービスに通知できます。これは調整期間と考えることができます。「しきい値での期間」を導入すると、目標を有効にするためにユーザーが指定したしきい値の内外にいる必要がある時間を指定することで、このカスタマイズをさらに進めることができます。
たとえば、ユーザーの心拍数が目標範囲から 15 秒間外れたら、アプリが運動強度を上げるか下げるかをユーザーに知らせる、といったことが考えられます。