AndroidアプリにCapabilityを追加する方法

2021年5月18日から行われたGoogle I/O 2021では、Googleアシスタントに関する新しい発表がいくつかありました。その中で、Androidアプリの機能をGoogleアシスタントから呼び出すことができるようになるApp Actions機能について、新しいフレームワークが発表されました。 従来は actions.xml リソースを定義して、インテントとディープリンクの関連を定義することでApp Actionsの組み込みが可能でした。これ自体は今後も継続して提供されますが、こ...

Account LinkingをActions Builderから試してみました

今日は久々にActions on GoogleのAccount Linking 機能を試してみたいと思います。Actions Builderになって開発の仕方が以前に比べてガラリと変わりました。Account Linkingについても、Actions Builderから利用しやすいようになっています。 Account Linkingを有効にする まず、空っぽのプロジェクトを新規に作成します。そして、画面上部にある「Develop」タブを選択して、左にある「Account linking...

Smart Home Actions 2020 Updates & Resourcesの日本語訳です

今年は新型コロナウイルスの流行のために、開発者イベントなどが軒並みキャンセルされ、またオンラインイベントでの発信となり、情報を得るための難易度が昨年までよりも少し上がってしまった印象があります。しかし、物理的な移動をせずとも多くの一次情報に触れる機会が増えたことも今年の特徴であり、注意深くウォッチし続けてさえいれば、今年も着実に様々な技術に進化が見られたことがわかるはずです。 Googleアシスタントのスマートホーム対応について、今年もいくつかの新機能や改善がありました。 以下は、 Sm...

App Actions 2020 Recapの日本語訳です

今年は新型コロナウイルスの流行のために、開発者イベントなどが軒並みキャンセルされ、またオンラインイベントでの発信となり、情報を得るための難易度が昨年までよりも少し上がってしまった印象があります。しかし、物理的な移動をせずとも多くの一次情報に触れる機会が増えたことも今年の特徴であり、注意深くウォッチし続けてさえいれば、今年も着実に様々な技術に進化が見られたことがわかるはずです。 Googleアシスタントに関しても、Androidアプリとの連携について大きなマイルストーンを迎えました。皆さん...

Conversational Actions 2020 Recapの日本語訳です

今年は新型コロナウイルスの流行のために、開発者イベントなどが軒並みキャンセルされ、またオンラインイベントでの発信となり、情報を得るための難易度が昨年までよりも少し上がってしまった印象があります。しかし、物理的な移動をせずとも多くの一次情報に触れる機会が増えたことも今年の特徴であり、注意深くウォッチし続けてさえいれば、今年も着実に様々な技術に進化が見られたことがわかるはずです。 Googleアシスタントに関しても、特にアクションの開発環境に関して大きなリリースがありました。また、Inter...

Googleアシスタント向けに3種類のテストが整備されました

Googleアシスタント向けに開発することが可能な会話側アクションは、既に多くのアクションがリリースされ、そして多くのユーザに利用されています。これらのアクションを開発する際に、テストは非常に重要な開発フェーズです。特にGUIとは違い、会話側アクションはUIが目に見えません。そのため、自然な会話を通じてユーザに価値をちゃんと届けられるかどうか、何度も何度も検証しなければなりません。また、一度リリースされた会話に対して部分的に手を加えた場合に、会話が壊れてしまったかどうかに気がつくことも難し...

手元のキーボードを声で操作するという未来を実現してみました

最近は自作キーボードのキットを2つほど作って、今まで使ってきた80個以上キーがあるキーボードは収納にしまってしまって、40個ほどしかないClaw44というキーボードを普段使っています。「いくらなんでも、いきなり40%キーボードを買っても使いこなせないだろう」と思っていたので、最初に組み立てたものは、ErgoDashという70個のキーが配置されたキーボードでした。 このキーボードに搭載されているマイコンには、オープンソースで開発が進められている「QMK Firmware」というファーム...

新しい会話構築IDE「Actions Builder」が登場しました!

昨日行われたオンラインイベント「 VOICE Global 」にて、Googleより大きな発表がありました!具体的には、以下となります。 新しい会話構築IDE「 Actions Builder 」の公開開始 Home Graph に接続されたデバイスに共有ストレージを提供する「 Home Storage 」 より長い形式のメディアセッションをサポートする、更新された「 Media API 」 マイクの状態変化を待たずに会話体験を組み立てられる「Continuous Ma...

Actions on Googleの統計情報をBigQueryにエクスポートする方法

Actions on Googleを使って、Googleアシスタント向けに開発者は機能拡張を行うことができます。その代表格が、会話型のアクションです。 オッケーグーグル、○○につないで。 はい、こちらは○○です。こんにちは、○○です。△△を教えてください。 ✕✕です。 ✕✕の□□は、☆☆です。また会いましょう。 的な感じで動的に会話を組み立てていくことができます。 GUIであれば、「どのボタンがいつどれだけ押されたか?」といった統計情報に基づいて、UIの改善を行う...

Interactive Canvasにいくつか変更点があります

今年2019年の Google I/O にて発表された Google アシスタント関連の発表の中で、スマートディスプレイへの対応はかなり大きく取り上げられていました。そして、スマートディスプレイの特徴でもある「画面」を活用したアクションを開発するために、Interactive Canvas という仕組みが導入されています。これにより、アクションがスマートディスプレイ向けにウェブアプリを提供することができます。 Interactive Canvas の詳しい内容は、以下のリファレンスドキュ...

シンプルな数当てゲームアクションの統計情報など

Googleアシスタントが多くの人に使えるようになってから、もう32ヶ月が過ぎようとしています。Actions on Googleというプラットフォームが公開され、誰もがGoogleアシスタントの機能を拡張し、独自のサービスをユーザにVoice User Interfaceで提供できるようになりました。ハードウェアデバイスも数多く登場しています。スマートスピーカー、スマートディスプイレイ、スマートウォッチ、スマート・・・、どれだけスマートになっていくのでしょうか? 数多くのアクション(A...

Azure App ServiceでActions on Google Java Client Libraryを使ってアクションを作る方法

遂に、Actions on Google向けの新しいクライアントライブラリがリリースされました、その名は、”Actions on Google Java/Kotlin Client Library”です。 actions-on-google/actions-on-google-java 今までほとんどの開発者は、”Actions on Google Client Library for Node.js” という名前のクライアントライブラリを使うことができました。つまり、Node.js ...

Azure App ServiceでActions on Google Client Libraryを使う方法

以前のエントリにて、Azure Functions Node.jsでActions on Google Client Libraryの使い方を紹介しました。 Azure Functions Node.jsでActions on Google Client Libraryを使う方法 実際には、Azure上でアクションを構築するもう一つの方法があります。それは、Azure App Serviceです。 Azure App Service Documentation - Tutorial,...

Azure Functions Node.jsでActions on Google Client Libraryを使う方法

もしあなたがAzure Functions Node.jsを普段使っている開発者であれば、Azure Functions Node.jsを使ってGoogleアシスタント向けのアクションを作ることが可能です。Googlは、Node.js向けにActions on Google Client Libraryを提供しています。 actions-on-google/actions-on-google-nodejs Azure Functions上でクライアントライブラリを使ってフルフィルメント...

Google AppEngine向けのJava Client Libraryを使ったアクションの構築方法

先週、新しいクライアントライブラリがリリースされました。その名は、”Actions on Google Java/Kotlin Client Library” です。 actions-on-google/actions-on-google-java 今まで、ほとんどの開発者は、”Actions on Google Client Library for Node.js” と呼ばれるクライアントライブラリを使用してきました。つまり、私たちは Node.js を使ったアクションの構築方法しか...

Google Sign-In for the Assistantが日本語でも利用可能になりました

Googleアシスタントの利用用途は多岐にわたります。その中には、誰が利用しているのか、それをはっきりさせることで、高度なパーソナライズやサービスの提供をすることができるようになることも多いかと思います。ネットサービスのほとんどが、ログイン、つまりユーザ認証を求めてくることは誰しもが実体験していることですが、Googleアシスタントにおいても、アクションを提供する上でユーザ認証は非常に重要です。そして、そのユーザ認証のためにユーザが行う手順が簡単であればあるほど、ユーザ認証してくれる可能性...

Actions on Googleの用語集です

Googleアシスタント向けに、Actions on Googleというプラットフォームを使うことで、開発者が独自に機能を拡張することができます。この「機能 を拡張する」ということについて、「アプリを開発する」と表現するのか、「アクションを開発する」と表現するのか、今まで実ははっきりとしていません でした。おそらく人によって「アプリ」と言ったり「アクション」と言ったり違いがあったでしょうし、文脈によって使い分けている人もいたかと思います。 長らく「どっちなんだ問題」としてふわふわしていまし...

Converse AIを使ったGoogleアシスタント向けアクションの開発

世の中AI全盛な昨今ですが、チャットボットや会話型アプリを開発するためのツールやウェブサービスが次々と登場しています。その中には、 一般的に難しいとされるプログラミングを行うことなく、GUIをいろいろ操作していけば開発できますよ、というものも少なくありません。 Converse AI は、そんなウェブサービスの中の一つです。ここでは、Converse AIを使ってGoogleアシスタント 向けアクションを開発するための手順を紹介したいと思います。 アクション作成手順が以前と変わってる ...

Googleアシスタント向けアプリのEnd to Endテストライブラリの使い方

世界には、多くのアプリがあります。現在、そのほとんどは、グラフィカルユーザインタフェースを有しています。しかし、ほとんどの開発者は、 どのようにそのユーザインターフェイスをテストすれば良いか、という問題を抱えています。特に、GUIアプリのEnd-to-Endテストは難しいです。 End-to-Endテストを行うためのいくつかのソリューションが提供されていますが、End-to-Endテストは情報産業において大きなテーマです。 Googleアシスタント向けのアプリを開発している全ての開発者に...

How to use the End-to-End testing library for Google Assistant apps

There are many apps in the world. Currently, most apps have a graphical user interface. But, most developers have a problem how to test the user interface. Especially, it is difficult to do an End-to-End test for GUI apps. Some solutions to do the...

Googleアシスタント向けの匿名ユーザIDが非推奨になります

Actions on Googleの開始以来、開発者は匿名ユーザID機能を使うことが可能です。 Anonymous User Identity - Actions on Google document 開発者は、ユーザをトラックするためにこの機能を使うことができます。具体的には、ユーザがアクションを利用する際に、Actions on Googleによって そのユーザ向けに匿名ユーザIDが発行されます。その匿名ユーザIDは、アクションに渡されます。もしユーザがそのアクションを再び利用した...

Anonymous User Identity for Google Assistant apps is deprecated

Since starting the Actions on Google, developers can use an Anonymous User Identity feature. Anonymous User Identity - Actions on Google document Developers can use this feature to track users. For instance, when a user uses an action, an Anonym...

Media responsesを使った長いオーディオコンテンツの提供

6月14日に、 Leon Nicholls は、 ko-KR を除く全ての Actions on Google の ロケール向けに、Media responses がサポートされたことを G+ 上でアナウンスしました。 Media Response Update: https://plus.google.com/u/0/+LeonNicholls/posts/cbATWnXx5cv SSML では、オーディオの長さに制限がありました。その長さは、 120 秒以内です。しかし、”Me...

Providing long audio content using Media responses

On July 14th, Leon Nicholls announced on G+ that Media responses are now supported for all Actions on Google locales except for ko-KR. Media Response Update: https://plus.google.com/u/0/+LeonNicholls/posts/cbATWnXx5cv We have a limitation abou...

インターネットが使えない人々にもGoogleアシスタントが利用されているインパクトの大きさ

僕以外の Assistant GDE に教えてもらった素晴らしいサービスがあるので、ちょっと紹介してみたいと思います。 今年のGoogle I/O 2018では、Googleアシスタントを利用可能なデバイスが世界には既に5億台あることがアナウンスされました。 5億台と聞くととても多い印象がありますが、本当に世界中を5億台で網羅できているかというと、残念ながら違います。 Googleアシスタントだけではなく、そもそもインターネットがまだリーチできていない地域も多く、その地域に住む人々は、 ...

actions-on-google-nodejs version 2へのマイグレーションポイント

Googleアシスタント向けアプリ開発で欠かせないものの一つに、SDKがあります。プラットフォームであるActions on Googleや DialogflowからのWebhookのリクエストとレスポンスはJSON形式なのですが、その項目数も多く、手で扱うにはなかなかしんどい ものがあります。actions-on-google-nodejsは、Webhookを受け取って必要な処理を手軽に書くことができる便利機能を数多く 提供してくれるJavaScript SDKです。ほとんどの開発者は、...

Google I/O 2018で発表されたDialogflow関連の新機能

Google I/O 2018が終わりました。いやー、非常に多くの新しいことが発表されましたね。多すぎて圧倒されていますが、 しっかりとキャッチアップしていかなければなりません。 Googleアシスタントアプリとして、特に会話型アプリを開発する際に、Dialogflowは非常に強力なツールとなります。特に、自然言語処理を Dialogflowに完全にお任せできることは、とても嬉しいことです。これにより、会話の中でユーザの意図をしっかりと判断することができる ようになります。 元々api...

Google I/O 2018で発表されたActions on Google関連の新機能

現在Google I/O 2018が開催されています。既に2日目が終わっていますが、例年このI/Oのタイミングに合わせて数多くの新しいことが登場します。 もちろん、Googleアシスタント関連でも、多くの発表がありました。 Keynoteを見ていた方は、Google Duplexでのあの「人間と機械の会話」にびっくりしたと思います。もう、人間の会話力の方が低いのでは?と 言わざるを得ないデモでしたね。下にある動画で、その会話のデモを実際に目にしてください。衝撃です。 その他にも、K...

Google Developers ExpertとしてAssistantも担当することになりました

4月23日に、Google Developers Expert の選考プロセスを無事通過して、Assistant 担当 GDE として活動していくことになりました。 2008年に当時の Google API Expert の OpenSocial 担当として、2013年からは現行の Google Developers Expert の Web Technology 担当として活動してきました。今回の承認によって、Web Technology と、Assistant の2つの担当となり...

サンプルコードからActions on GoogleのTransactions APIを理解する

Transactions APIを使うことで、Googleアシスタントアプリに購買や予約と行った機能を組み込むことができます。 しかし、いくつかの手順、いくつかのインテント、いくつかのイベント、そしていくつかのデータ構造があるため、 Transactions APIの利用方法を理解することは難しいかも知れません。つまり、複雑なのです。 幸いなことに。Transactions APIをより簡単に理解するためのサンプルコードセットがあります。ここで、アプリにTransactions API ...

Build Actions for GDG TokyoでVUIアプリに関する話をしてきました

今年は、Googleアシスタントアプリの開発に関して、世界中で活発に様々な活動が行われています。その中でも、Build Actions for Your Community という取り組みは、世界中で同時期に行われている、非常に大きな活動です。 Build Actions for Your Community イベントサイト 「Build Actions for Your Community」イベントにご参加ください - Google Developers Blog 本当に世界の...

Transactions "Add Transactions to Your App"の日本語訳です

Transactions APIを利用して、Googleアシスタント向けアプリに対して、購買や予約などの機能を組み込むことができるようになりました。手順としては少し多めで複雑ですが、一般的なそのようなトランザクションを扱う際の組み込み方と、そう大差はありません。既に何らかのECや予約サイトなどを運営されている方は、ぜひGoogleアシスタント向けアプリを開発し、Transactions APIを使った購買、予約機能の組み込みを検討してみてください。 Actions on Googleのド...

Transactions "Overview"の日本語訳です

Googleアシスタントは、もはや多くのユーザの側にいます。Android端末をお持ちであれば、Googleアシスタントが毎日手の中にいることになりますし、Google Homeを家に置いている方々についても、常に家族の一員としてGoogleアシスタントが側にいます。そんな相棒が、商品の購入や予約をしたいと思った際にも、自然な形でサポートしてくれたら、それは素敵な未来だと思いませんか?でも、未来ではなく、もう既にやってきました。日本語環境においても、Actions on Googleが提供...

Smart Home "Testing and Deploying"の日本語訳です

Actions on Google上で登録し開発したスマートホームアプリは、もちろんテストが行われた後に、公開されることになります。テストは、一人だけで行うのではなく、複数のメンバーによって行われるかも知れません。Actions on Googleでは、公開前の複数人によるテストもサポートされています。そして、テスト項目も決められていて、スマートホームアプリの品質を開発者は一定以上に保証しなければなりません。 Actions on Googleのドキュメントにある Smart Home ...

Smart Home "Create a Smart Home App"の日本語訳です

Actions on Googleでは、スマートホームアプリを開発することができます。これは、会話によって何かユーザに価値をもたらす会話型のアプリとは開発手順が違ってきます。 Actions on Googleのドキュメントにある Smart Home - Create a Smart Home Appにて、 スマートホーム向けアプリの開発手順が説明されています。以下はその日本語訳です。 スマートホームアプリの作成 スマートホームアプリは、アシスタントの従来のアプリとは構造が異なり...

Smart Home "Overview"の日本語訳です

Googleアシスタント向けアプリとして、会話側のアプリの他に、スマートホーム向けの各種デバイスを操作することを目的とした、昔「ダイレクトアクション」と 呼んでいたアプリの形態があります。今では「スマートホームアプリ」と呼びます。 Actions on Googleのドキュメントにある Smart Home - Overviewにて、 Smart Home向けアプリの概要が説明されています。以下はその日本語訳です。 が、以下を読んでも、正直よくわからないかもしれません。流れを把握した後...

数当てゲームを支えるVUI設計と手順

Googleアシスタント向けアプリを設計する上で、VUI(Voice User Interface)の理解がとても重要になります。GUIのように数多くのUIが組み合わされて UXが決まっていくことに対して、VUIはあくまで「対話」がUXを決定します。基本的には視覚的な情報が一切ない状態で、自然言語を使った会話によって目的を 達成しなければならないため、GUIとは全く違った設計手法が必要になってきます。 以前、Googleアシスタント向けアプリに数当てゲームアプリを開発して公開しました。そ...

Account Linking "Accessing Digital Purchases"の日本語訳です

Googleアシスタント向けアプリにおいて、そのアプリマーケットが今後活性化するかどうかを決定するであろう重要な要素に、「購入」という機能をあげることができると思います。エコシステムが機能するためには、ユーザとアプリ開発者の間で利益の交換が正しく行われなければなりません。もちろん、VUI(Voice User Interface)の分野において、ユーザが何かを購入するための安全なフローは、まだ確立されていないと言って良いでしょう。しかし、他のデバイスと連携する方式であれば、安全にその機能を...

Account Linking "Implicit Flows"の日本語訳です

Googleアシスタント向けアプリにおいて、ユーザ認証は非常に重要な機能となります。特に、アシスタント向けアプリの開発者が持つサービスのアカウントとのリンクについてが重要であり、これはアカウントリンクという仕組みで実現されます。それにはOAuth 2.0のフローが適用されるため、もしOAuth 2.0についての知見があれば、スムーズにその仕組みを理解し実装することができると思います。 Actions on Googleのドキュメントにある Account Linking - Implic...

Account Linking "Implementing Account Linking"の日本語訳です

Googleアカウント向けアプリでは、Googleアシスタントを利用している際のGoogleアカウントと、アシスタント向けアプリの裏にあるサービスでのアカウントとを紐付けるための仕組みが提供されています。これは、アカウントリンクと呼ばれ、その仕組みはOAuth 2.0をベースに組み立てられています。 Actions on Googleのドキュメントにある Account Linking - Implementing Account Linkingにて、 アカウントリンクの実装方法が説明さ...

Identity "User Information"の日本語訳です

Googleアシスタント向けアプリでは、そのアプリを利用するユーザの情報を利用したくなる時があります。それは、名前や住所などです。それらを使うことで、よりパーソナライズされた機能を提供することができるようになります。 Actions on Googleのドキュメントにある Identity - User Informationにて、 Googleアシスタント向けアプリが使えるユーザ情報が説明されています。以下はその日本語訳です。 ユーザ情報 あなたのアプリにおいて、ユーザーの場所...

Account Linking "Overview"の日本語訳です

Googleアシスタント向けアプリでは、開発者が持つサービス側のアカウントと、アシスタント向けアプリを利用する際のGoogleアカウントを、互いに紐付けることをしたくなるはずです。これにより、パーソナライズがさらに加速すると共に、元々開発者が持っていたサービスをアシスタント向けアプリ経由でユーザが利用することができるようになります。このアカウントの紐付けを「アカウントリンク」と呼び、それには「シームレスなアカウントリンク」と「従来のリンクフローを使ったユーザ体験」の2つがポイントとなります...

DialogflowのTraining機能は僕の日課になった

今週、Googleアシスタント向けアプリに新しいアプリを公開しました。その名も、「勉強会検索」です。 このアプリは、connpass API を使って、ユーザが指定した条件にマッチする勉強会を探して答えてくれる、 という機能を提供します。以下のような感じです。 当初考えていた条件指定 このアプリのWelcomeメッセージは、以下にしています。 「こんにちは。各地で開催される予定の勉強会について、日付や都道府県名、キーワードによってお探しいたします。条件をどうぞ。」 結構漠...

Fulfillment "Firebase Services"の日本語訳です

Googleアシスタント向けアプリを開発する際には、多くの場合フルフィルメントを準備するためにプログラミングが必要になります。フルフィルメントを開発し運用するために、Firebaseは最も手軽かつ強力な武器となります。 Actions on Googleのドキュメントにある Fulfillment - Firebase Servicesにて、 Firebaseが提供する各種機能の中でGoogleアシスタント向けアプリの実装に使える機能の概要が説明されています。以下はその日本語訳です。 ...

Conversations "Best Practices"の日本語訳です

Googleアシスタント向けアプリによってユーザに提供される会話のUIは、比較的歴史が浅く、まだまだ新しい分野です。今後使いやすい会話型UIとは何かが研究され、そして多くの開発者に広まっていくことでしょう。ただ、現時点でも、明らかに気をつけておくべきことはいくつかわかっています。 Actions on Googleのドキュメントにある Conversations - Best Practicesにて、 会話型UIにおけるベストプラクティスが説明されています。以下はその日本語訳です。 ...

Conversations "App Exits"の日本語訳です

VUI(Voice User Interface)において、ユーザがアプリをいつでも終わることができる、ということが結構重要だったりします。 会話を終えるためのことをユーザが明確に言うこともあるでしょうし、いつの間にかユーザが何も言わなくなっていることもあるでしょう。 少なくとも、ユーザが明確に会話を終了させようとしてきた時には、それをフルフィルメントにて受け取り、適切な後処理を行うことができます。 Actions on Googleのドキュメントにある Conversations - ...

Conversations "Helpers"の日本語訳です

Googleアシスタント向けアプリを開発している中で、「あ、この情報欲しいな」と思うことがあります。それは、ユーザの氏名だったり、 住所だったりです。また、ユーザにGoogleサインインしてもらって、その結果のアクセストークンを得たいこともあるでしょう。そのような 情報を入手するために、Actions on Googleは共通的な機能を提供しています。それらを「ヘルパー(Helpers)」と呼びます。 Actions on Googleのドキュメントにある Conversations -...

Invocation and Discovery "Checklist"の日本語訳です

Googleアシスタント向けアプリを呼び出すための方法は、明示的な呼び出し(Explicit Invocation)と、暗黙的な呼び出し(Implicit Invocation) の2種類があります。「ユーザがどのようにコンタクトを取ってくるか」を十分に考えることで、これらの呼び出しに関する設計も洗練されてくるはずです。 Actions on Googleのドキュメントにある Invocation and Discovery - Checklistにて、 アプリの呼び出しと発見に関するチ...

Invocation and Discovery "Implicit Invocation"の日本語訳です

Googleアシスタント向けアプリの明示的な呼び出しには、ユーザは事前にそのアプリ名を知っていなければなりません。もちろん、既に そのアプリを利用した経験があって名前を知っていれば、アプリ名を使って直接呼び出すことができるため、非常に明確です。しかし、 ユーザがまだアプリ名を知らない際には、ユーザができることは「何をしたいのか」を表明することだけです。そこで、アシスタント向けアプリ では、「何ができるのか」を予めActions on Googleに教えておくことで、ユーザが表明した意図に対...

Invocation and Discovery "Explicit Invocation"の日本語訳です

Googleアシスタント向けアプリのアプリ名をユーザが知っている場合は、ユーザはそのアプリ名を使ってそのアプリを呼び出すことができます。 これを明示的な呼び出し(Explicit Invocation)と呼びます。その際、例えば 「オッケーグーグル、マイレシピアプリで 今日のスープレシピについて教えて 」というように、アプリに対して呼び出しと意図を同時に ユーザが伝え、そのことをアプリが受け取ることができます。こうすることで、ユーザがアプリを利用するための対話の数を削減できます。 Act...

Invocation and Discovery "Overview"の日本語訳です

Googleアシスタント向けアプリを利用するユーザにとって、それらは目に見えないものです。ユーザの目の前には、Googleアシスタントのみが 見えていて、その向こうにはどのようなアプリがいるのか、アプリのディレクトリページに行かない限りわかりません。Googleアシスタントとして 本質的なことは、アプリを発見してもらうことではなく、ユーザがやりたいこと、達成したいことを満たしてくれるアプリが適切に呼び出されるか どうか、ということです。そして、仮にユーザが特定のアプリの存在を知っていたとし...

Conversations "Responses"の日本語訳です

Googleアシスタント向けアプリがGoogleアシスタントに応答する際に、Google Homeを想像すると、文章のみを応答として返して それがGoogle Homeによって発話される、となると思います。しかし、サーフェスとして音声だけでなく画面も想定されています。 つまり、アシスタント向けアプリの応答は、単純なテキストだけではなく、もっとリッチな応答も返すことができ、それはサーフェスと して画面をサポートしていれば、視覚的にリッチな応答が「表示」されるということです。 Actions...

Googleアシスタントアプリの裏側にエラーが頻発した時の挙動

昨年末に、自作のGoogleアシスタント向けアプリ「イートアンドバイト」を公開しています。簡単な3桁の数字を あてるゲームなのですが、アシスタント向けアプリの開発から審査、公開、運用を一通り体験するためには手頃な サイズでした。Google HomeやAndroidのGoogleアシスタントなどに対して「イートアンドバイトにつないで」 と話しかけることで遊べますので、ぜひ試してみてください。 さて、審査を無事通過してアシスタント向けアプリを公開した後は、Actions on Google...

Conversations "Reprompts"の日本語訳です

ユーザは気まぐれです。アプリ開発者の想定通りに会話をしてくれることは、むしろ希です。何らかの割り込みが入れば、 ユーザは会話を途中で放棄してしまうことも多々起き得ます。こういった事態にも、アシスタント向けアプリは備えておかなければ なりません。ユーザが一定時間発言をしなかった際に、アシスタント向けアプリはユーザに何度か問いかけることができます。この 問いかけのことを、再プロンプト(Reprompts)と呼びます。 Actions on Googleのドキュメントにある Conversat...

Conversations "Surface Capabilities"の日本語訳です

Googleアシスタントは、「音声のみ」「画面のみ」「音声と画面の両方」のいずれかをサポートしたデバイス上で動作することが想定されています。 これらの種別のことを「サーフェス」と呼んでいて、サーフェスが違えば、アシスタント向けアプリが応答可能なメッセージも変わってきます。 Actions on Googleのドキュメントにある Conversations - Surface Capabilitiesにて、 サーフェスの利用方法が説明されています。以下はその日本語訳です。 サーフェス...

GoogleアシスタントアプリからAndroidアプリを起動する方法

2017年12月19日に、Android開発者向けにGoogle Play APP DOJOというイベントが行われました。これは毎月行われているイベントです。 Google Play APP DOJO 案内ページ 今回のテーマは、「Android x Dialogflow/Actions on Google」ということで、最近僕が没頭していることが内容でした。講師として 僕にもお声がかかり、資料などを準備していたのですが、残念ながら家族がインフルエンザにかかってしまうという大事件がおき...

Googleアシスタント向けアプリの掲載が始まった模様です

Googleアシスタントは、Android端末やGoogle Home、Android TV搭載のテレビ、ChromeOS、そしてiOS向けのGoogleアシスタントアプリなど、 本当に皆さんの身近にいる存在です。Actions on Googleの提供によって、Googleアシスタント向けアプリの開発と提供が可能になりましたが、公開 されたアプリを発見するための場所が今までありませんでした。Amazon Alexa向けのSkillは、Amazon Alexaアプリの中で探すことができます...

Conversations "Basics"の日本語訳です

Googleアシスタントが生息するデバイスは主に2つの形態があります。Googleアシスタント向けアプリの開発では、これらの存在を意識して、ユーザに最適なUIを提供しなければなりません。 音声のみのデバイス(Google Homeのような)。 音声と画面を持つデバイス(Androidのような)。 Actions on GoogleのドキュメントにあるConversations - Basicsにて、それらの概要が説明されています。以下はその日本語訳です。 会話の基本 ...

Localization "Fulfillment"の日本語訳です

Googleアシスタントは、既に複数の言語をサポートしています。その中には、当然英語と日本語も含まれています。Actions on GoogleによるGoogleアシスタント向けアプリの開発では、同時に複数の言語に対応したアプリ開発をすることが可能です。ユーザに返事を返すのは主にフルフィルメントの役目ですので、フルフィルメントの実装には国際化のための実装が含まれることになります。 Actions on GoogleのドキュメントにあるLocalization - Fulfillmentに...

Build with Actions SDK "Submit Your App"の日本語訳です

Actions SDKを使ったGoogleアシスタント向けアプリの開発が完了した後は、実機でのテストを経て、承認プロセスを通過するためにレビュー依頼を提出することになります。それらには、gactionsコマンドを使います。 Actions on GoogleのドキュメントにあるBuild with Actions SDK - Submit Your Appにて、それらの手順が説明されています。以下はその日本語訳です。 アプリを提出する Dialogflowエージェントとフルフィル...

Build with Actions SDK "Deploy Fulfillment"の日本語訳です

Actions SDKを使ったGoogleアシスタント向けのアプリにおいて、作成したフルフィルメントを呼び出すためには、フルフィルメントをデプロイしてインターネット上から利用可能な状態にして、そのエンドポイントURLをアクションパッケージ内に記載することが必要です。Firebase Cloud Functionsとしてフルフィルメントを開発していた場合には、Firebaseにデプロイ後に決定されるURLを登録することになります。 Actions on GoogleのドキュメントにあるBu...

Build with Actions SDK "Build Fulfillment"の日本語訳です

Googleアシスタント向けのアプリにて、実際にユーザからの入力を処理して返事を返すのは、フルフィルメントの役目です。Actions SDKを使ったアプリにおいても、フルフィルメントを作ることになります。 Actions on GoogleのBuild with Actions SDK - Build Fulfillmentでは、フルフィルメントをどう実装すれば良いかが説明されています。以下は、その日本語訳です。 フルフィルメントの構築 レスポンス構築についての詳細を学ぶ ...

Build with Actions SDK "Define Actions"の日本語訳です

プロジェクトとアクションパッケージの作成が終わった後は、具体的なアクションを定義していきます。アクションは、ユーザがアプリをアプリ名によって呼び出した際に起動されるデフォルトアクションや、付帯情報(○○を使った△△と話す、のような)を伴ったアクションの呼び出し(具体的な、が転じて「深い(Deep)」という表現が使われます)、つまりディープリンクを行うためにアクションを追加することもできます。 Actions on Googleのドキュメントにある、Define Actionsでは、Act...

Build with Actions SDK "Create a Project and Action Package"の日本語訳です

Actions SDKを使ってGoogleアシスタント向けアプリを開発するための第1歩は、プロジェクトの作成と、アクションパッケージの作成です。アクションパッケージの実体はJSONファイルであり、 gactions コマンドでそのひな形を得ることができます。 以下は、Build with Actions SDK - Create a Project and Action Packageの日本語訳です プロジェクトとアクションパッケージの作成 プロジェクトの作成 Actio...

Build with Actions SDK "Overview"の日本語訳です

Actions on Googleでは、Dialogflowが提供するNLPやその他のリッチな機能を使ったGoogleアシスタント向けアプリの開発だけでなく、Actions SDKを使って、低レベルな(NLPを含むほとんどの処理を自前で)アプリ開発も行うことができます。例えば、コマンド型の簡単なリクエスト/レスポンス形式のアプリであったり、NLPを行うための機構を既に持っていてそれを使いたい場合は、Actions SDKを採用すると良いでしょう。 Actions on Googleのドキ...

Build with Dialogflow "Number Genie"の日本語訳です

Dialogflowを使ったGoogleアシスタント向けのアプリ開発の手順について、総決算として「Number Genie」という名前の数当てゲームの作り方が、Actions on GoogleのBuild with Dialogflow “Number Genie”に掲載されています。以下は、その日本語訳です。 ここに書かれている内容が、ほとんどのアプリで必要となる実装要求となるはずです。Number Genieの仕組みと実装内容を把握することが、あなたがGoogleアシスタント向けの...

Build with Dialogflow "Deploy Your App"の日本語訳です

フルフィルメントのデプロイまで済んでいれば、あとはアプリをデプロイして承認プロセスに進むことになります。Actions on GoogleのDeploy Your Appでは、アプリをデプロイして実機(Google HomeやAndroid端末など)でテストを行い、レビューに提出する手順が説明されています。以下は、その日本語訳です。 アプリをデプロイする Dialogflowエージェントとフルフィルメントがデプロイされたら、実際のハードウェアデバイスやアクションシミュレータでアプリ...

Build with Dialogflow "Deploy Fulfillment"の日本語訳です

フルフィルメントの構築では、FirebaseのCloud Functionとしてフルフィルメントを作りました。これをFirebaseにデプロイするための方法が、Actions on GoogleのDeploy Fulfillmentにて説明されています。以下は、その日本語訳です。 フルフィルメントをデプロイする 本番環境用のCloud Functions for Firebaseにデプロイするように環境を設定する方法を説明します。ただし、フルフィルメントをホストするHTTPSリクエ...

Build with Dialogflow "Build Fulfillment"の日本語訳です

Actions on GoogleとDialogflowにてGoogleアシスタント向けアプリを開発する際に、そのアプリの本体とも言えるものがフルフィルメント(Fulfillment)になります。フルフィルメントは、DialogflowからWebhookで呼び出され、ユーザからの入力の解析結果が渡されます。そして、何か処理を行った後に、ユーザに返事をする処理を書くのも、フルフィルメントです。 Actions on Googleでは、Dialogflowでのフルフィルメントの作り方について...

Build with Dialogflow "Define Actions"の日本語訳です

Dialogflowを使ったGoogleアシスタント向けのアプリ開発において、Create a Project and Dialogflow Agentにてプロジェクトを作成できたら、次はアクションを定義していきます。アクションの作成方法は、Actions on GoogleのDefine Actionsに書かれています。以下は、その日本語訳です。 アクションを定義する Dialogflowでアクションを定義するには、Dialogflowエージェントでインテントを作成し、エントリポ...

Conversations SSML and Audio "SSML"の日本語訳です

Googleアシスタント向けのアプリでは、基本的にユーザにはテキストから音声合成された結果を「聞かせる」ことになるのですが、時としてもっと異なるものを聞かせたくなることがあります。音声合成を細かく制御するために、またオーディオファイルの再生を指示するために、SSML(Speech Synthesis Markup Language)のサブセットを利用することができます。Actions on Googleの Conversations SSML and Audio - SSML にて、サポー...

Build with Dialogflow "Create a Project and Dialogflow Agent"の日本語訳です

[会話の設計]を終えた後は、Dialogflowを使ってアプリを作成していきます。Actions on GoogleのBuild with DialogflowにあるCreate a Project and Dialogflow Agentでは、サンプルのスターターアプリをダウンロードし、Dialogflowにてプロジェクトを作成するまでの手順が書かれています。以下は、その日本語訳です。 アプリの作成 Dialogflowを使用して開発するには、まず、Actions on Goog...

Build with Dialogflow "Design a Conversation"の日本語訳です

Dialogflowを使ってGoogleアシスタント向けのアプリを開発する最初のステップは、Dialogflowを使わずに、まず会話を設計することです。ユースケースを選び、ペルソナを作成して、アプリ名を考え、そしてダイアログ(対話: ユーザとアプリでやり取りされる具体的な会話の内容)を書き出しています。以下は、Build with Dialogflow - Design a Conversationにて掲載されている上記の手順に関する日本語訳です。 会話を設計する Googleアシ...

Build with Dialogflow "Overview"の日本語訳です

Googleアシスタント向けのアプリは、基本的にはActions SDKを使って開発を行います。しかし、Dialogflowを使うことで、直接Actions SDKを使わなくても、使いやすいIDEや自然言語理解(NLU)、そして機械学習などの追加機能が一通り揃った上で開発を行うことができるようになります。以下は、Build with Dialogflow - Overviewの日本語訳です。Dialogflowを使ったアプリ開発の概要が説明されています。 概要 Actions on...

Best Practices "In Conversation, There Are No Errors"の日本語訳です

GUIによるアプリでは、ユーザが何か期待していないことを行った時や、システムが予期せぬ状況になった時には、エラーメッセージをユーザに提示することが一般的です。しかし、会話型UIでは、エラーダイアログといったインタフェースはありません。全てが会話です。人間同士の会話でも、突然相手から「○○エラーです」とか提示されることは、あり得ません。その代わり、会話は継続されます。その会話の中で、間違いは自然な形で訂正されていくはずです。 Actions on Googleで掲載されているベストプラクテ...

Actions on Googleの開発者向けドキュメントの日本語訳リスト

Googleアシスタント向けのアプリを開発するための情報が掲載されている Actions on Google - GUIDES の各記事の日本語訳です。 いくつか公式ドキュメント側が日本語訳され始めていますので、既に日本語訳されたドキュメントについては、勝手翻訳ではなく公式のページを参照ください。 はじめよう (GET STARTED) 基本 (Basics) - 日本語訳された原文を参照ください。 最初のアプリ開発 (Build Your First App) ...

Best Practices "Instilling User Confidence Through Confirmations and Acknowledgements"を日本語訳しました

誰かと会話をしている際に、相手が本当に自分が言ったことを理解してくれているのか、とても気になると思います。理解したことを相手が自分に繰り返してくれれば、理解されたんだな、と確認することができます。また、適度に「はい」「オッケー」「わかりました」と、自分が言ったことを相手が肯定してくれれば、さらに会話はスムーズに進んでいくはずです。 Actions on GoogleのBest PracticesのInstilling User Confidence Through Confirmatio...

Best Practices "Unlocking the Power of Spoken Language"を日本語訳しました

普段の会話と比べて、自動音声応答に対して「機械的だなぁ」と思ってしまったことは誰しもあることだと思います。これは、ちょっとしたことに気をつけるだけで、避けることができます。どうしてもコンピュータ相手には「命令をする」というイメージで考えがちですが、会話型UIでは、あくまで相手はコンピュータかどうかではなく、「会話相手」として自然に感じるような設計が必要です。 Actions on GoogleのBest PracticesにUnlocking the Power of Spoken La...

Best Practices "Be Cooperative...Like Your Users"を日本語訳しました

Actions on Googleのドキュメントサイトでは、会話型UIを設計するために役に立ついくつかのベストプラクティスが掲載されています。最初のベストプラクティスは、Be Cooperative…Like Your Usersです。ここでは、会話が協力的な原則で成り立っていることをベースとして、ユーザにとって自然な会話型UIを設計するためのポイントや具体例が説明されています。以下は、その日本語訳です。 協力的になれ… あなたのユーザのように PDFをダウンロード 会話...

Design in Action "UI toolkit"を日本語訳しました

会話を巧みに作るにて書き出されたダイアログ(対話)によって、作成したいGoogleアシスタント向けアプリの実際のイメージを掴むことができるようになります。しかし、さらに「その会話をユーザはどのように行うことになるんだろう?」とユーザ体験を確認したくなると思います。 ここでは、Design in ActionのUI toolkitを日本語訳したものを紹介します。Sketchテンプレートを入手することができ、携帯電話上でどのようにチャット形式で会話が進むかをイメージすることが可能なGoogl...

Design in Action "Design Checklist"を日本語訳しました

Design in Actionの設計原則と方法論と会話を巧みに作るを読むことで、Googleアシスタント向けのアプリにてどのように会話型UIを組み立てていけば良いかをイメージすることができるようになります。これに加えて、正しい会話型UIとして対話が設計されているかどうかを確認するためのチェックリストがあると、とても役に立ちます。 ここでは、Actions on Googleのドキュメントに掲載されている、会話型UIとして正しく設計されたかどうかを確認するためのDesign Checkl...

Design in Action "Design Walkthrough"を日本語訳しました

設計原則と方法論にて、会話型UIを設計するための指針について得ましたが、具体例がないと、なかなかイメージすることは難しいかもしれません。特に、「ダイアログ(対話)を書き出す」ということが何を意味しているのか、最初は想像できないと思います。Crafting a Conversationでは、数字当てゲームを題材として、どのようなダイアログを設計すべきかについて、具体的な例を示して説明しています。ここでは、それを日本語訳してみました。 これを読むことで、Google Assistant向けの...

Design in Action "Design Principles and Methodology"を日本語訳しました

Actions on Googleを使ってGoogleアシスタントにアプリを提供する際の会話型UI設計について、The Conversational UI and Why It MattersとHow Conversations Workによって、会話型UIがどういうものなのかが説明されています。しかし、概要なので、それらだけ読んでもなかなかイメージを持つことは難しいかもしれません。ドキュメントでは、更に具体的にアプリを設計するための説明が続きます。 ここでは、Design in Act...

Design Overview "How Conversations Work"を日本語訳しました

会話型UIとそれが重要な理由に続いて、ここではUnderstanding How Conversations Workの日本語訳を紹介します。会話型UIの重要性から、会話の仕組みを理解することで、アプリを設計するための指針となる事項が数多く出てきます。どれも日々の会話の中で全く意識していないことなのですが、改めて考えてみると、どれも納得な重要な要素ばかりです。 会話の仕組みの理解: より良いUIへの鍵 PDFをダウンロード 今から25年後、誰もドロップダウンメニューをクリッ...

Design Overview "Conversational UI and Why It Matters"を日本語訳しました

Google AssistantへのアプリによるUIの提供は、会話型になります。つまり、GUIのような「画面の操作」ではないので、アプリの開発者はどのように会話を組み立てれば良いのか、悩むはずです。Actions on Googleのドキュメントでは、アプリのデザインの概要として、Conversational UI and Why It Mattersが掲載されています。以下はその日本語訳になります。原文でも難しめの記載になってるため、日本語訳も微妙な感じになってますが、キーワードだけでも...

Build First App with Templatesを日本語訳しました

前回のエントリでは、Dialogflow(旧API.AI)を使ったアプリのチュートリアルドキュメントの日本語訳を紹介しました。ここでは、Dialogflowよりももっと簡単にアプリを作ることができるテンプレートのチュートリアル(GET STARTED - Build Your First App - with Templates)の日本語訳を作ってみましたので、以下に紹介いたします。 テンプレート Googleシートに記入し、アプリを作成します。 完全に定義されたペルソナを使...

Build Your First App with Dialogflowを日本語訳しました

前回のエントリでは、Actions on Googleの基本を説明したドキュメントの日本語訳を紹介しました。ここでは、Dialogflowを使ったアプリのチュートリアル(GET STARTED - Build Your First App - with Dialogflow)の日本語訳を作ってみましたので、以下に紹介いたします。 Dialogflowは、自然言語および人間の言語を解析するNLU(自然言語理解)エンジンも含まれているため、自然言語処理を自分で構築する必要がなく、比較的手軽に...

Actions on Googleの「GET STARTED - Basics」の日本語訳を作ってみました

Google Homeがついに日本でも発売が開始されました。Google Homeは、Googleアシスタントと声でやりとりすることができるデバイスです。そして、開発者としては、Googleアシスタントに自作のアクションを登録できることに注目すべきですし、その作り方に興味を持つことでしょう。その作り方は、Actions on Googleというサイトにまとめられています。 自作アクションを作るために最初に読むべきドキュメントであるGE STARTED - Basicsを日本語訳してみたの...