タイマーAPIを使ってAlexaスキルにタイマー機能を追加する

Toshimi Hatanaka Apr 12, 2020
Share:
News
Blog_Header_Post_Img

※このブログは、German ViscusoブログToshimi Hatanakaが日本向けに翻訳し加筆修正したものです。

Alexaのスキルを使ってユーザーのタイマーを設定したり管理したりすることができるタイ マーAPIが利用できるようになりました。この新しいAPIは、Alexaがサポートするすべてのロケールの開発者が利用できます。

Barilla (イタリア)クックパッド(日本)といった有名なスキルでは、タイマー機能を活用することで、ユーザーがスキルを利用している途中で、音楽やビデオの再生など他のアクティビティに移ったとしても、再びスキルに戻ってきてスキルのコンテンツを再開できるようにタイマーの割り込み機能をうまく活用しています。一般的に、いくつかの手順を必要とするスキルや、時間経過を追跡するようなスキルでは、スキル内タイマーが有効に機能します。例えば、料理、家事、ゲーム、学習、エクササイズ、工作・クラフト、美容などのスキルカテゴリーでは、タイマーの便利さを理解できるでしょう。

スキルエクスペリエンスの継続とユーザーの使い勝手の向上

様々な種類のイベントやタスクを処理するために、タイマー機能は私たちの日常生活にとって重要なものとなっています。しかし、これまでその機能を利用するためには、一度スキルのセッションを終了し、Alexa標準のタイマー機能を呼び出すしかありませんでした。今回、Alexaスキルの中からタイマー機能を呼び出す機能をユーザーに提供することで、スキルのエクスペリエンスを継続しながらタイマーを利用できるようになるため、ユーザーがより使いやすくなりました。

クックパッドのスキルは、お料理の手順をアシストするためにタイマーAPIの機能を活用した良い事例です。例えば、レシピの手順の中で5分間茹でるといった指示があった場合、ユーザーはスキル内で「アレクサ、タイマー5分」と言うだけでタイマーをセッ トすることができます。また「アレクサ、タイマーあと何分?」「アレクサ、タイマーを止めて」といった指示を出すこともできます。

「料理をしている最中にタイマーをセットしたくなることはよくあることだと思いますが、 これまではクックパッドスキルを使って料理をしている時にタイマーのセットは不可能だったため、スキルを料理に活用するうえで一種の妨げになっていました。実際にスキルの利用中にタイマーをセットしたい、という要望を頂くことも少なくありませんでした。しかしながら、タイマーAPIの登場によりクックパッドスキルを中断することなく直接タイマーのセ ットが可能となったため、これまで以上にクックパッドスキルを料理に活用しやすくなりま した。」 とクックパッドのソフトウェアエンジニア 山田良明氏は述べています。

タイマーAPI のしくみ

タイマーAPIでは、タイマーのトリガー方法をカスタマイズすることにより、ユーザーとスキルのセッションが終了しても、一貫したユーザーエクスペリエンスを継続させることができます。例えば、タイマーにセットした時間が経過した時点でユーザーからAlexaに話しかけてもらったり、カスタマイズしたプロンプトを発行してスキルに戻り、ユーザーエクスペリエンスを継続することができます。

スキル内でタイマーAPIを利用するには、ユーザーから2つのパーミッションを取得する必要があります。まず、ユーザーがスキルを初めて起動した場合、スキルがユーザーに対してタイマー機能を利用することを許可するよう求めます。ユーザーがスキルのタイマー機能の使用をまだ許可していない場合は、Alexaの音声を使って、Alexaアプリのホームカードにタイマー機能を許可するためのリンクを送信したことを伝えてください。次に、スキルがタイ マーをスタートさせる際には、これからタイマーが開始することを明示的にユーザーに伝え、その許可を得る必要があります。例えば「30分のワークアウトを開始しますか?」のようにユーザーに尋ね、許可を得てからタイマーをスタートさせてください。

料理をアシストするスキルでは、次のようなユースケースになります。

  1. チキンの調理に今から5分間のタイマーを設定します。
  2. 特に中断がなければ、5分後にタイマーが鳴動します。
  3. タイマーにラベルがある場合は、鳴動に加えてAlexaが繰り返し「チキンのタイマーが 終了しました」(ラベル名が「チキン」の場合)と言います。
  4. そして次のいずれかのアクションが発生するまで鳴動を続けます。 

◦ ユーザーが「アレクサ、止めて」または同様の発話をした場合。

◦ 応答がないまま60分経過した場合、タイマーの鳴動は停止します。


上の例のように、クックパッドのスキルでも、あるレシピを作り始める時にタイマーをセットして、タイマーがスタートする際にユーザーにその許可を求めることでタイマー機能の使い勝手を向上させています。「タイマーAPIは、基本的にタイマーの作成、削除などのみに責任を持つだけでよく、タイマー自体のライフサイクルの管理を全て一任できることがとても使いやすい点だと思います。」と山田良明氏は述べています。

タイマーAPIを試してみましょう

Alexa開発者コンソールのアクセス権限のページでタイマーAPIを有効にすることで、スキルにタイマー機能を追加することができます。既にGitHub.com の Alexa-cookbook ではタイマーAPIを使ったサンプルスキル「 タイマーデモ」が公開されています。日本語にも 対応していますので是非デプロイして試してください。

さらに詳しい情報はこちらの技術文書を参照してください。

Alexaに関する最新情報をメールで受け取る