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
250
ヤフー名古屋TechMeetupを 運営して学んだこと "縁 ~en~"
1coin
0
72
なぜエンジニアの私が マジ価値MeetupでLTをするのか
1coin
0
150
freee会計でのModule Federationによるマイクロフロントエンドの実践
1coin
2
22k
「この技術書がすごい」 好きなので語ります ~Team Geekついて~
1coin
1
370
リモートでも本音が言い合えるチームに なるためにやったこと
1coin
0
780
私の仕事観 + 今の仕事
1coin
0
53
複雑化したReact hookのデバッグとその対策
1coin
4
1k
G空間APIと地図ライブラリの紹介
1coin
2
560
Other Decks in Technology
See All in Technology
SRE×AIOpsを始めよう!GuardDutyによるお手軽脅威検出
amixedcolor
0
180
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
マルチプロダクトな開発組織で 「開発生産性」に向き合うために試みたこと / Improving Multi-Product Dev Productivity
sugamasao
1
310
rootlessコンテナのすゝめ - 研究室サーバーでもできる安全なコンテナ管理
kitsuya0828
3
390
【Startup CTO of the Year 2024 / Audience Award】アセンド取締役CTO 丹羽健
niwatakeru
0
1.3k
Lambdaと地方とコミュニティ
miu_crescent
2
370
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
390
日経電子版のStoreKit2フルリニューアル
shimastripe
1
140
【令和最新版】AWS Direct Connectと愉快なGWたちのおさらい
minorun365
PRO
5
760
強いチームと開発生産性
onk
PRO
35
11k
安心してください、日本語使えますよ―Ubuntu日本語Remix提供休止に寄せて― 2024-11-17
nobutomurata
1
1k
第1回 国土交通省 データコンペ参加者向け勉強会③- Snowflake x estie編 -
estie
0
130
Featured
See All Featured
The MySQL Ecosystem @ GitHub 2015
samlambert
250
12k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
900
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.5k
GitHub's CSS Performance
jonrohan
1030
460k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5k
Thoughts on Productivity
jonyablonski
67
4.3k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Adopting Sorbet at Scale
ufuk
73
9.1k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
VelocityConf: Rendering Performance Case Studies
addyosmani
325
24k
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