Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Googleアシスタントの他プラットフォームへの拡張
Search
1coin
June 25, 2019
Technology
0
52
Googleアシスタントの他プラットフォームへの拡張
Mix Leap Study #45 - Google I/O、WWDCまとめて報告会!
https://yahoo-osaka.connpass.com/event/132601/
1coin
June 25, 2019
Tweet
Share
More Decks by 1coin
See All by 1coin
「学び」を捉えてマインドアップデート
1coin
0
260
ヤフー名古屋TechMeetupを 運営して学んだこと "縁 ~en~"
1coin
0
75
なぜエンジニアの私が マジ価値MeetupでLTをするのか
1coin
0
160
freee会計でのModule Federationによるマイクロフロントエンドの実践
1coin
2
23k
「この技術書がすごい」 好きなので語ります ~Team Geekついて~
1coin
1
380
リモートでも本音が言い合えるチームに なるためにやったこと
1coin
0
790
私の仕事観 + 今の仕事
1coin
0
55
複雑化したReact hookのデバッグとその対策
1coin
4
1.1k
G空間APIと地図ライブラリの紹介
1coin
2
570
Other Decks in Technology
See All in Technology
LINEヤフーのフロントエンド組織・体制の紹介【24年12月】
lycorp_recruit_jp
0
530
複雑性の高いオブジェクト編集に向き合う: プラガブルなReactフォーム設計
righttouch
PRO
0
120
Snykで始めるセキュリティ担当者とSREと開発者が楽になる脆弱性対応 / Getting started with Snyk Vulnerability Response
yamaguchitk333
2
190
マルチプロダクト開発の現場でAWS Security Hubを1年以上運用して得た教訓
muziyoshiz
3
2.4k
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
サーバレスアプリ開発者向けアップデートをキャッチアップしてきた #AWSreInvent #regrowth_fuk
drumnistnakano
0
200
終了の危機にあった15年続くWebサービスを全力で存続させる - phpcon2024
yositosi
18
17k
なぜCodeceptJSを選んだか
goataka
0
160
NW-JAWS #14 re:Invent 2024(予選落ち含)で 発表された推しアップデートについて
nagisa53
0
270
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
Oracle Cloudの生成AIサービスって実際どこまで使えるの? エンジニア目線で試してみた
minorun365
PRO
4
290
kargoの魅力について伝える
magisystem0408
0
210
Featured
See All Featured
It's Worth the Effort
3n
183
28k
Code Review Best Practice
trishagee
65
17k
Making the Leap to Tech Lead
cromwellryan
133
9k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
59k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Designing Experiences People Love
moore
138
23k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Producing Creativity
orderedlist
PRO
341
39k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
VelocityConf: Rendering Performance Case Studies
addyosmani
326
24k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Transcript
@1coin178 Mix Leap Study #45 Googleアシスタント 他プラットフォームへ 拡張
My Profile 一円 真治 - Shinji Ichien Twitter: @1coin178 Yahoo
Japan Corporation Android App, Backend, Web Yahoo!地図 From 名古屋 発売中
今年 Google I/O テーマ
https://www.youtube.com/watch?v=lyRPyRKHO8M
次世代Googleアシスタント
次世代アシスタント へ 進化 oogleアシスタント モデルを 100 -> 0.5 まで縮小
モバイルデバイスに インストールが可能に オフライン + 高 応答を実現 ストレスフリーな連続会話 日常 タスクを簡素化する アシスタントへ 次期 ixelに搭載予定
Assistant in the Car 車内利用に即した Voice-forwardなダッシュボード Android Autoが統合された イメージ パーソナライズされた情報を掲示
「Let’s drive」で ダッシュボードが表示 今年 夏からAndroidで
Google Next Hub/Max Google Home Hubがリブランディング Next Hub 日本発売予定、対応言語も増える https://www.youtube.com/watch?v=lyRPyRKHO8M
プラットフォームごと Googleアシスタントへ 拡張
Googleアシスタント あらゆる場所に https://www.youtube.com/watch?v=dpNrq_wiqGs&t=2055s
プラットフォーム毎 対応機能 Content Owner Android Developer Web・VUI Developer Content Action
Interactive canvas App Actions
プラットフォーム毎 対応機能 Content Owner Android Developer Web・VUI Developer Content Action
App Actions Interactive canvas
https://www.youtube.com/watch?v=dpNrq_wiqGs Content Action 種類 ~これまで~
例: Recipe Content Action 対応方法 https://www.youtube.com/watch?v=GR1j2ADyGvA&list=PLOU2XLYxmsIK5JcIMUhrPH7T0lHBrKbER&index=9
Content Action 種類 ~New~ https://www.youtube.com/watch?v=dpNrq_wiqGs
https://www.youtube.com/watch?v=dpNrq_wiqGs, https://developers.google.com/actions/content-actions/how-to How-to Guides ステップバイステップでノウハウを紹介するコンテンツが作れる 同様に schema.org/HowToを元に構 化データを追加する Developer Preview
◦ 英語圏・モバイルデバイス み New! ①
How-to Guides マークアップ例 詳細 こちら New! ①
How-to Video Template 前述 How-to Youtube動画版 マークアップ不要 spreadsheetで各ステップを記入 Developer Preview
- 英語圏、Android version 8.23+ AoG Consoleにテンプレがある - 特定 Google Groupに入る必要有 New! ②
How-to Video Template 作り方 1 2 3 New! ①
FAQs https://www.youtube.com/watch?v=dpNrq_wiqGs よくある質問 Webページ内容を一発即答でコンテンツとして表示 同様に schema.org/FAQPage を元に構 化データを追加する Developer Preview
- 英語圏、Android モバイルフォン み New! ②
Content Owner まとめ • 新Content Action ◦ How-to ◦ How-to
Video Template ◦ FAQ • アシスタント、Google検索で 一発即答 回答モジュールが出せる • JSON-LD、schema.org 定義で構 化 • Youtube + SpreadSheet だけでも作れる - How-to Video Template
プラットフォーム毎 対応機能 Content Owner Android Developer Web・VUI Developer Content Action
Interactive canvas App Actions
App Actions と Google アシスタントから Androidアプリをディープリンクで起動 アプリ 複数 操作タスクを 音声コマンドでショートカット
- ex)「Hey Google, start my run in Nike Run Club」 アプリ起動 + ランニング開始
App Actions と Developer Previewで4つ カテゴリで利用可能 https://youtu.be/vQALSeGy9aY
App Actions 仕組み https://developers.google.com/actions/appactions/overview
App Actions 仕組み Built-in Intentと ? ・Google アシスタントに組み込まれている Intent定義 ・actions.intent.xxx
形式 https://developers.google.com/actions/appactions/overview
App Actions 仕組み Google アシスタント Intent × Android Custom Intent
マッピング https://developers.google.com/actions/appactions/overview
App Actions 仕組み アプリをディープリンク起動 アプリ 一部をSlicesでGoogleアシスタント UIに提供 https://developers.google.com/actions/appactions/overview
App Actions 実装 <meta-data>で actions.xml 参照を追加 Edit: AndroidManifest.xml <manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" package="com.neone.android.fitactions"> <application <meta-data android:name="com.google.android.actions" android:resource="@xml/actions" /> </application> </manifest>
intent ameとintent arameter アシス タント uilt- n ntent( )から得られ る。
取得できるparameter値 種類によって異なる。 docsを確認しよう。 Edit: res/xml/actions.xml <?xml version="1.0" encoding="utf-8"?> <actions> <action intentName="actions.intent.START_EXERCISE"> <fulfillment urlTemplate="https://fit-actions.firebaseapp.com/start{?exerciseType}"> <parameter-mapping intentParameter="exercise.name" urlParameter="exerciseType" /> </fulfillment> <fulfillment>...</fulfillment> </action> App Actions 実装 -action定義-
Implement built-in intents for App Actions | App Actions |
Google Developers - https://developers.google.com/actions/appactions/bii-integrations#fitness_-_exercise
parameter-mappingで アシスタント 世界から ndroid 世界 値に intent
arameter url arameter ndroid pp/ ustom ink url emplate( 6570 3.2.8) に 変数としてセット Edit: res/xml/actions.xml <?xml version="1.0" encoding="utf-8"?> <actions> <action intentName="actions.intent.START_EXERCISE"> <fulfillment urlTemplate="https://fit-actions.firebaseapp.com/start{?exerciseType}"> <parameter-mapping intentParameter="exercise.name" urlParameter="exerciseType" /> </fulfillment> <fulfillment>...</fulfillment> </action> App Actions 実装 -action定義-
actions.xml: url arameterで 定義した名前を eyに 飛んできた ntentから値を取得 以降、
ndroid側 処理を 気にすれ Edit: XXXActivity.kt override fun onCreate(savedInstanceState: Bundle?) { ... val exerciseType = intent?.data.getQueryParameter("exerciseType").orEmpty() … } App Actions 実装 -intent処理-
テストツール: App Actions Test Tool (Android Studio Plugin) テスト用に Android
Studio Pluginが提供 アプリ リリース管理している Googleアカウントでログイン
デモ
アプリに遷移させるより、 Googleアシスタント側で 結果を見せたい
Slices
https://youtu.be/vQALSeGy9aY
App Actions Deep LinkとSlice 使い分け例 画面で見たい情報とで体験を切り分ける https://youtu.be/vQALSeGy9aY
Android Developer まとめ • App Actions アシスタントからアプリをDeep Linkで起動できる • 実装方法
シンプル、難しくない • 去年発表 App Actionsが試せる状態に
プラットフォーム毎 対応機能 Content Owner Android Developer Web・VUI Developer Content Action
Interactive canvas App Actions
Interactive Canvas 会話型アクションと没入型 Webコンテンツと インタラクションが可能 既存 Rich Responseと異なり、フルスクリーン Webビュー表示 現在、Developer
Preview for Game
仕組み ImmersiveResponse https://developers.google.com/actions/interactivecanvas/
Webアプリへ 接続
Web App 作り方 htmlでライブラリ読み込む
Web App 作り方 assistantCanvas APIに callbackを登録 callback state値で分岐
Interactive canvas 実装デモ https://github.com/actions-on-google/dialogflow-interactive-canvas-nodejs
プラットフォーム毎 対応機能 Content Owner Android Developer Web・VUI Developer Content Action
Interactive canvas App Actions
現地で 体験
Google I/O Action ~ 借り物競走ゲーム~
まとめ プラットフォームごと oogleアシスタントへ 拡張 ◦ ontent wner i.
ow-to/ ideo emplate, s ◦ ndroid i. pp ctions ◦ ction・ eb i. nteractive canvas 感想 • oogleアシスタント 可能性 広がっている • ユーザを引きつける1つ 入口となりうる • まだまだ今後に期待!
Thanks!
Appendix
参考記事 • oogle evelopers apan: / 2019 ctions on oogle:
ウェブ、モバイル、スマートホーム デベロッパー 向け 新ツール - https://developers-jp.googleblog.com/2019/05/io-2019-actions-on-google.html • ringing you the next-generation oogle ssistant - https://www.blog.google/products/assistant/next-generation-google-assistant-io/
Google I/O 2019 session • oogle evelopers log: heck out
the oogle ssistant talks at / 2019 - https://developers.googleblog.com/2019/04/check-out-google-assistant-talks-at-io.html • ssistant at oogle / 2019 - ou ube - https://www.youtube.com/playlist?list= 2 xms 5 c hr 7 0l r b
機能ごと ドキュメント・サンプルコード • pp ctions ◦ xtend your ndroid app
▪ https://developers.google.com/actions/app/ ◦ actions-on-google/appactions-fitness-kotlin ▪ https://github.com/actions-on-google/appactions-fitness-kotlin ◦ mplement built-in intents for pp ctions ▪ https://developers.google.com/actions/appactions/bii-integrations • ow-to ◦ uild a ow-to ction with markup | ctions on oogle eb ontent | oogle evelopers - https://developers.google.com/actions/content-actions/how-to ◦ ow o - schema.org - https://schema.org/ ow o • ow-to ideo template ◦ reate a ow-to ideo ction using templates | ctions on oogle emplates | oogle evelopers - https://developers.google.com/actions/templates/how-to • s ◦ uild an ction with markup | ctions on oogle eb ontent | oogle evelopers - https://developers.google.com/actions/content-actions/faq • ini- pps ◦ 米 oogle、検索と oogle ssistant でインタラクティブなライブコンテンツを提供する ini-apps を発表 #io19 #io19jp :: (# ) - http://www.sem-r.com/news-2019/20190513030247.html ◦ oogle is testing ini-apps in earch and oogle ssistant | enture eat - https://venturebeat.com/2019/05/08/googles-mini-apps-are-app-like-experiences-for-search-and-google-assistant/
機能ごと ドキュメント・サンプルコード • nteractive canvas ◦ https://developers.google.com/actions/web/ ◦
uild nteractive ames for the oogle ssistant ( oogle / '19) - ou ube - https://www.youtube.com/watch?v= 8lsvv 21 k&list= 2 xms i l do7 55j hs i&in dex=55&t=0s ◦ https://github.com/actions-on-google/dialogflow-interactive-canvas-nodejs