先日、下記記事でひょっこりはんのスキルを遊んでみたのですが、
ふと次のような疑問が浮かびました。
画面付きデバイスのみに対応したスキルを画面のない Echo で実行するとどうなるの?
はて、どうなるんでしょうね?
ぱっと思い浮かぶ挙動としては、次のようなパターンが考えられるでしょうか。
- そもそも実行できない。(システムエラー)
- 画面付きデバイスと同じ処理で実行される(ただし、画面が無いので画面表示に関する挙動は見えない)
- 画面付きデバイスと異なる処理で実行される。
試しに、画面付きデバイス対応スキルを Echo Dot で実行してみることにしました。
Echo Dotで画面付きデバイス対応スキルを呼び出してみる
こちらが Echo Dot で試してみた様子です。例として「ひょっこりはん」のスキルを呼び出してみました。
どうやら、このスキルは画面付きデバイスと同じように実行されたけど、画面が無いので音声だけ聞こえたようです。(前述の記事では Echo Show で呼び出した様子も見られますので、ご参考までに。)
では、どのスキルもこういう動きになるんでしょうか?
どう実行されるかはスキルの作り方次第
先の例だけ見ると、画面付きデバイスかどうかに関わらずスキルは同じ処理をするように見えますが、実は調べてみるとスキルの作り方次第で処理を切り分けることができるようです。
例えば、下記ブログでは、Alexa へのリクエストの supportedInterfaces
の値を見ることで、画面付きデバイスを検出する方法が紹介されています。
つまり、画面付きデバイスと同じ処理で実行されるか、異なる処理で実行されるかは、スキルの作り方によって変わるということになりますね。
例えば、Echo Dot を所有しているユーザーが、画面付き対応スキルをそれとは知らずに実行するケースも多くあるかと思います。
視覚コンテンツがメインのスキルの場合、内容によっては、画面の無いデバイスに対して、「このスキルは画面の無いデバイスには対応していません」のように何かしら別の結果も返せるようにしておくことで、よりユーザーに優しい作りにできるかもしれません。
今まであまり画面付き対応スキルを作ったことが無かったんですが、今後スキルを作る際には、こういうことも頭に入れておくと役立ちそうです。