プログラミングが不要なGoogle Homeアプリ制作サービス「RINDO」(ベータ版)を無料提供中!
Ebisu Voice Production Logo
開発ブログ

Surface Capabilitiesについて

Daishi Kato
2018年08月19日

Actions on GoogleにはSurface Capabilitiesという機能があります。

https://developers.google.com/actions/assistant/surface-capabilities

スクリーンショット

Surface Capabilitiesを使うと、デバイスの機能によって処理を変えることができます。 例えば、ディスプレイ付きのスマホとディスプレイなしのGoogle Homeとで、 会話の処理を変えたりすることができます。 さらに、Multi-surface conversationsを使うと、 複数のデバイスを横断して会話を続けることができます。 例えば、Google Homeで進めていた会話を、スマホに移して継続することができます。

恵比寿ボイスプロダクションが開発したアプリの中では、 例えば「やることリスト」というアプリがこの機能を使用しています。

https://ebisu-voice-production.com/apps/todolist/

このアプリはGoogle Homeでは音声のみで使えるようにしていますが、 Webページからもアクセスができ、そのリンクを知らせるのに スマホにURLを送る仕組みがあります。

具体的な会話例は次のようになります。

  • ユーザ「OK Google, やることリストに一覧ページを開いてと頼んで」
  • Google Home「やることリストの一覧ページ、こちらをスマートフォンに送ってもよろしいですか」
  • ユーザ「はい」
  • Google Home「スマートフォンで通知を確認してください」

その後、スマホに次のような通知が表示されます。

screenshot notification

この通知を開くと、Googleアシスタントが開き、次のように やることリストからの会話が届きます。

screenshot assistant

最後に開発観点でのコメントです。

Note: Your conversationToken will be transferred to the new surface, so you should persist any state you need. Any data stored inside a Dialogflow output context will also automatically be transferred to the new surface, and the conversation ID will remain the same. app.data will persist as well.

とあるように、仕組みとしてはconversationTokenが維持されるようになっているため、 デバイスが変わったことをそれほど意識せずに機能を構築することができます。

恵比寿ボイスプロダクション
github icontwitter icon
Home
開発コンサル
RINDO
About Us
お問い合わせ
Privacy Policy