タイマーのベストプラクティス

タイマーのベストプラクティス

タイマーREST APIを使用してスキルタイマーを作成するときは、以下のベストプラクティスを参考にしてください。

タイマーは、スキルの目的に関連している必要があります。たとえば、パン作りの手順を教えるスキルで、パン生地を発酵させる1時間のタイマーをセットするなどです。関連のないアクティビティのタイマーをセットしないようにしてください。

タイマーの状態と有効な遷移を理解する

タイマーは通常、さまざまな状態を遷移します。以下は、タイマーで想定される状態と、それぞれの状態の間の有効な遷移を表したフローチャートです。スキルが無効な遷移を行おうとすると、エラー応答を受け取ります。たとえば、スキルは一時停止されたタイマーを再開することはできますが、停止されたタイマーを再開することはできません。

タイマーの状態遷移図

タイマーの制約を守る

タイマーの作成をサポートするスキルでは、次の制約に従うようにしてください。

  • タイマーにラベルがある場合、ラベルは一意である必要があります。
  • スキル用、個人用を合わせて、作成できるタイマーの数は10件までです。
  • タイマーに設定できる時間は最大で2時間です。作成時刻から2時間以降に開始するタイマーは作成できません。

タイマーの使用例

一般に、複数のステップがあるスキルや時間の管理に関係するスキルは、タイマーの使用がメリットになる可能性があります。タイマーは、リマインダーAPIを使用して作成するリマインダーとは概念的に異なることに注意してください。

タイマーは次のようなカテゴリーのスキルで使用すると便利です。

  • 料理
  • 家事
  • ゲーム
  • 学習
  • エクササイズ
  • 工作・クラフト
  • 美容

ここでは、料理スキル、瞑想スキル、洗濯スキルでタイマーを使用する例を紹介します。

クッキーを作るスキルを開発する場合、スキルでタイマーを設定できるステップがいくつかあります。たとえば、レシピで各ステップの所要時間がわかっているため、ユーザーにタイマーの設定時間をたずねることはありません。

クッキーのタイマーを設定するかどうかをユーザーに尋ねます。ユーザーが「はい」と答えた場合は、次の時間で2つのタイマーを作成する許可を求めます。

  • 12分のANNOUNCEタイマーで、クッキーの焼き時間が終了したことを通知し、オーブンから取り出すように指示します。
  • 14分のNOTIFY_ONLYタイマーで、クッキーが食べられる状態であることを通知します。このタイマーは、ユーザーが直前の12分タイマーを停止した後にアクティブになります。

瞑想タイマーの例

瞑想スキルを作成する場合、タイマーを使用して瞑想を停止するタイミングを設定できます。この例では、特定のパターンでタイマーの時間をプログラムし、ユーザーに入力を要求しません。

15分間の瞑想を開始するかどうかユーザーに尋ねます。

  • ユーザーが「はい」と答えた場合は、瞑想が終了したときにメッセージを提供する15分間のANNOUNCEタイマーを作成する許可を求めます。
  • このタイマーが動作している間に、リラックスできる15分間のオーディオを再生できます。

洗濯タイマーの例

洗濯スキルを作成する場合は、タイマーを活用して家事をスムーズに行うことができます。この場合、スキルでは各ステップの所要時間がわからないため、ユーザーにそれぞれのタイマー設定時間をたずねます。

  • ユーザーに、つけ置きが必要な衣類はあるか、どのくらいの時間つけ置きすればよいかをたずねます。つけ置きする衣類がある場合、ユーザーが答えた設定時間(30分など)で「つけ置き」タイマーを作成してよいかをたずねます。
  • ユーザーに、洗濯機での洗濯にかかる時間をたずねます。ユーザーにその設定時間で「洗濯」タイマーを作成してよいかをたずねます。
  • ユーザーに、乾燥機での乾燥にかかる時間をたずねます。ユーザーにその設定時間で「乾燥」タイマーを作成してよいかをたずねます。

タイマーのラベル

タイマーにtimerLabelを含める場合は、以下のガイドラインに従ってください。

  • タイマーの目的を表すラベル名を付けます。
  • 3語以内の短いラベルにします。
  • 機密情報が含まれないようラベル名は慎重に設定してください。
  • また、特定の言語が指定された場合以外は、ユーザーのデバイスに設定された言語のラベル名にします。
  • ユーザーが求めていないコンテンツを含めないでください。

タイマーの設定時間

一般的に、スキル内のタイマーでユーザーを驚かせたり、煩わしく感じさせたりしないように作成する必要があります。以下のガイドラインに従ってください。

  • タイマーの設定時間はなるべく短くします。2時間を超えることはできません。
  • 午後10時から午前6時間までの間に鳴動するタイマーの場合は事前にユーザーに確認を取ります。
  • AMAZON.DURATIONスロットタイプを使用して、期間を示す単語を数値に変換します。

スキルでタイマーを実装する際のベストプラクティス

ユーザーに優れたタイマーエクスペリエンスを提供するために、以下のベストプラクティスに従ってください。

  • タイマーの設定に失敗した場合はユーザーに通知します。
  • スキルが操作を実行できなかった場合はユーザーに知らせます。
  • 事前にタイマーの制約を確認し、適切にエラーを処理します。
  • 無効な状態遷移があった場合はエラーを明確にします。
  • 権限がない場合、スキルが適切に処理してユーザーに明確に伝えるようにします。
  • アクションを実行できることが確実な場合にのみ、スキルでAPIを実行するようにします。
  • 明示的な鳴動時間を設定できない場合のプランを立てます。APIは、サーバーがリクエストを処理する時点に基づいてタイマーをセットします。
  • 提案されたラベルが一意でない場合はユーザーに知らせます。これは、ユーザーがtimerLabelを選んでいる場合にのみ適用されます。
  • ユーザーに設定済みのタイマーの合計数を知らせます。たとえば、「<スキル名>では3件のタイマーがセットされています」などです。
  • スキルが申請チェックリストの要件を満たすようにします。