: A @ . . G G Not EbnCM . . . . ) ( r S hDP _N m : gcNhpi C ( ( V V e TV gcdl C Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. B
Smart Clock / Preview of Google Assistant Connect n 0 1 A -: 29 / : a c gSr s 0 1 A -: 29 7 A1 A - 2A r i G G6AA 9 A17 C1A26 7 2 3 2 A 2 ( ) 6A : n 7 A1 A - 2A n w koegj mE / : a c gS v dekt E G l heg S . : 9 kp
Assistant coming to more TV devices n n n n n https://www.blog.google/products/assistant/coming-soon-google-assistant-android-tv-and-more/ n https://goo.gl/b5eLGE
F • W ld S j WW • • o N F • W o or oa • • . • W G • . j g • . Copyright (C) 2018 Namito.Satoyama, Shinji.Ichien All Rights Reserved. i s Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. i s
c ! KKCHA /LL 1JCEJA /1! / : 7 • 4 8ulkmoqwptWi a ! KKCHA y nwrv /1 / : 7 ! h g " PPL . CEP Q K PEKJ KJ CKKCHA E HKC HKS SA KKG KEHA LH PA F • 6KPHEJ g ! 9EEP d ebfe PPL . EEP K KEJ , EPA , - - - (() A A /K 0HEAJP 7E T K 6KPHEJd Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved.
p • d Bc • npm install actions-on-google --save • npm install firebase-functions --save • el fLWr d c DialogflowApp a mi Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. st iA y p 3 3. 2 n C D const { dialogflow } = require('actions-on-google') const functions = require('firebase-functions') const app = dialogflow() exports.endpoint = functions.https.onRequest(app) app.intent( ' 2 / , conv => { conv.ask( b uj Gl IN ) }) app.intent( , conv => { conv.close( el o L ) })
g Df • npm install actions-on-google --save • npm install firebase-functions --save • p iN wl bgaf A DialogflowApp d m • ' 3 I iN wl (.. ,/ ,/ ,/ ,/ ! ) , ! => I conv.ask conv.close ces Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. yomCu t const { dialogflow } = require('actions-on-google') const functions = require('firebase-functions') const app = dialogflow() exports.endpoint = functions.https.onRequest(app) app.intent( ' / , conv => { conv.ask( ce n W B Ip LG ) }) app.intent( , conv => { conv.close( p s WNBL ) }) . + rGj
Namito.Satoyama. All Rights Reserved. a d class ConversationComponentsApp : DialogflowApp() { @ForIntent("Default Welcome Intent") fun welcome(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( b CJC CGA ) return responseBuilder.build() } @ForIntent("Good Bye") fun goodBye(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( CJ K HL ) .endConversation() return responseBuilder.build() } } Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. a d 3 1 • DialogflowApp efC 1
Rights Reserved. w n t class ConversationComponentsApp : DialogflowApp() { @ForIntent("Default Welcome Intent") fun welcome(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( aeDylH HJ CoH KGA ) return responseBuilder.build() } @ForIntent("Good Bye") fun goodBye(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( go H I G ) .endConversation() return responseBuilder.build() } } • DialogflowApp H / 3/ d • ForIntent f 2 3 3 / b L Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. w n t 32 @ForIntent(“Intent ”) fun method(request: ActionRequest): ActionResponse { // go I v } !
Rights Reserved. n y class ConversationComponentsApp : DialogflowApp() { @ForIntent("Default Welcome Intent") fun welcome(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( bfC oG GI rG DJ ) return responseBuilder.build() } @ForIntent("Good Bye") fun goodBye(request: ActionRequest): ActionResponse { val responseBuilder = getResponseBuilder(request) responseBuilder .add( r G H A ) .endConversation() return responseBuilder.build() } } • DialogflowApp G 3 3 3 e • ForIntent a dg / 3 3 L • ResponseBuilder e wK v l • add(text: String) • add(simpleResponse: SimpleResponse) • add(image: Image) • endConversation() ! bf H Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. n y 3 @ForIntent(“Intentt”) fun method(request: ActionRequest): ActionResponse { // r iH } ! !
u tr o i gC a s CA 2 S fcC R e S 2 1 fc lv S 2 2 . 2- Surface lvC a S 2 2 2 . 2- Surfacep hA Sb mn S 2 2 M Surfacep hA Sb mn S Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved.
C B AC 4 4 B AG A A 4 Copyright (C) 2018 Namito.Satoyama. All Rights Reserved. ij _Egonf const hasScreen = conv.surface.capabilities.has('actions.capability.SCREEN_OUTPUT'); const hasAudio = conv.surface.capabilities.has('actions.capability.AUDIO_OUTPUT'); const hasMediaPlayback = conv.surface.capabilities.has('actions.capability.MEDIA_RESPONSE_AUDIO'); const hasWebBrowser = conv.surface.capabilities.has('actions.capability.WEB_BROWSER'); # if (hasScreen) { conv.ask(" "); } else { conv.close(" "); }; eb ml TMLO S R c N PW U Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. ij _Egonf A
: • p c R m af M t • S ) ( ( / ! ? M uv s ie https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Shiba_Inu.jpg/250px-Shiba_Inu.jpg Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. nob lr
: • M S li O c • v a tf • (3 1 1 ud A eo https://upload.wikimedia.org/wikipedia/commons/thumb/2/20/Shiba_Inu.jpg/250px-Shiba_Inu.jpg Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. rs c n
5 T A G 5CC , A 0=5 ;: .CC L D G C A M" A G 5; , g + 5> G= , ' ( e a } aik n ubml 5CC G + C 5> 5; + C 5> " } aik uhx fml A G = C 5 5; , gdc 5CC G L C <) + C 5> 5; + C 5> = C 5 G) = C 5 5; M" Copyright (C) 2019 Namito.Satoyama, Shinji.Ichien All Rights Reserved. {ts yʼ w