assistant com client library desenvolvendo actions para o ... · direcione o foco do usuário...

57
1 Desenvolvendo actions para o Google Assistant com client library

Upload: others

Post on 07-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

1

Desenvolvendo actions para o Google Assistant com client library

Page 2: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

2

Wagner Messias

@WagnerMessiasC

wagnermessias

Sobre mim...● Desenvolvedor Android na Zup

● Bacharel em Sistemas de Informação

● Entusiasta da cultura Makers (Do It Yourself)

Page 3: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Agenda○ Assistentes Virtuais

○ Google Assistant

○ Actions on Google

• O que é Actions on Google?

• Processo de desenvolvimento de actions

• Recursos disponíveis

○ Kotlin client library

Page 4: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Assistentes Virtuais

Page 5: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Ficção Realidade

Page 6: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Grande mudança na computaçãoA cada 10 anos

6

1977

Mainframes Desktop

1987

Internet

1997

Mobile

2007

6

AI/Assistants

2017

Page 7: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

E a próxima mudança?

7

Page 8: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

8

Expectativas

● Principal Interface para Internet das coisas (IoT).

● Ajudar as pessoas em sua rotinas diárias.

● Atender necessidades dos usuários de forma mais rápida e intuitiva por voz.

Page 9: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Principais Assistentes Virtuais

9 9

Page 10: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo
Page 11: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

1B+ Dispositivos

Suporte crescente de idiomas

SDK

Bilíngue

Page 12: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Home Devices

Page 13: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

13

Mas, o que posso desenvolver? e como?

Page 14: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Actions on GoogleDesenvolvimento de aplicações de voz

Page 15: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

15

O que é Actions on Google?

É uma plataforma que viabiliza o desenvolvimento de “Assistant Apps”, aplicativos para expandirem as funcionalidades do Google Assistant para serviços de terceiros, através de actions.

Page 16: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

16

O que é Actions on Google?

Page 17: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

17

O que é Action?

É o ponto de entrada em uma interação entre o usuário e o Google Assistant, onde usuário pode falar ou digitar uma frase informando o nome da action que deseja interagir.

Page 18: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

18

Invocação

Ok Google, falar com Pizzaria do Gordo

Trigger Phrase Action(Especificada pelo desenvolvedor)

Page 19: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

19

Venda de bens e serviços físicos

Page 20: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

20

Uso do Google Pay para finalizar as transações.

Page 21: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

21

Page 22: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

22

VOCÊ TEM QUE ME AJUDAR A TE AJUDAR...

Page 23: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

23

Incluindo compras únicas como atualizações - pacotes de expansão ou novos níveis, por exemplo - e até mesmo assinaturas recorrentes diretamente sua Action.

Venda de produtos Digitais

Page 24: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

24

Autenticação

● Google Sign-in

● OAuth Google Sign-in

● OAuth (Não recomendado)

Page 25: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

25

Push notifications Links para Action

Envolver os usuários

Page 26: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

26

Resposta simples e ricas

Page 27: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

27

Interactive Canvas (GAMES)

Page 28: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

28

Google Assistant no Brasil

Page 29: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

29

Actions Console

Page 30: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

30

● Adicionar ou importar projetos de actions

● Gerenciamento e personalização das actions

● Simulador para testar suas Actions

● Gerenciar release (Alpha, Beta e Production)

● Deploy do projeto

● Analytics

● Integração com Backend Services

● Entre outros...

Actions Console

Page 31: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

31

Fluxo de interação de uma Action

Page 32: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

32

Agente Dialogflow (api.ai)

Poderoso mecanismo de entendimento de linguagem natural (NLU) para processar e entender a entrada de linguagem natural.

Page 33: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

33

“Gostaria de uma mussarela grande e uma fanta uva de 2 litros”

@sabor (obrigatório)

@tamanho(obrigatório)

@bebida

@bebida-qtd(obrigatório / se conter bebida)

pedido-pizza (Intent)

Agente Dialogflow (api.ai)

Page 34: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

34

Fulfillment - Inline Editor

Page 35: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

35

Fulfillment - Webhook

Page 36: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

36

Fluxo Aplicação de Voz

Page 37: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

37

Request

Page 38: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

38

Response

Page 39: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Kotlin Client Library para Actions on Google

Page 40: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Requisitos

● JDK 8 ou superior.

● Pode ser Instalado usando Gradle e Maven

● Pode ser usada em conjunto com Dialogflow para integração com Actions on Google ou Actions SDK

Page 41: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

41

Setup

Page 42: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

42

Class DialogflowApp

Page 43: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

43

Handle Request

Page 44: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

44

Handle Request

Page 45: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

45

@ForIntent

Page 46: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

46

ActionRequest

Page 47: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

47

SimplesResponse

Page 48: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

48

Suggestions

Page 49: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

49

BasicCard

Page 50: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo
Page 51: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Responses

Page 52: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Desing de Conversas

● Conversação é Inerentemente multimodal

● Ensinar os computadores a serem fluentes em conversas

● Fluxo da conversa

● Contexto

● Personas

Page 53: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Desing de Conversas

● Dê a sua VUI uma personalidade

● Mova a conversa para frente

● Seja breve, seja relevante

● Contexto de alavancagem

● Direcione o foco do usuário através da ordem das palavras e do estresse

● Não ensine "comandos" - falar é intuitivo

Seis princípios da conversação humana prontos para revolucionar o design da VUI por James Giangola Conversation & Persona Design Lead @Google

Page 54: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

“A voz tem sido essencial para a interação humana desde bem antes da história. Mas o que

é velho agora é novo: a voz está se tornando essencial para a forma como interagimos com

os computadores”

MARK STEPHEN MEADOWS, AUTOR, ARTISTA E PRESIDENTE DO BOTANIC.IOFonte: Designing Voice User Interfaces

Page 55: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Links / ReferênciasMeus Artigos:

Actions on Google: Desenvolvendo Actions para o Google Assistant do zero: aquiActions on Google: usando o Google Assistant a seu favor: aqui

Google:

Lib Kotlin/Java: https://github.com/actions-on-google/actions-on-google-java

Actions on Google : https://developers.google.com/actions

Actions on Google SDK: https://developers.google.com/assistant/sdk

Guia Desing Conversas: https://designguidelines.withgoogle.com/conversation

Dialogflow: https://dialogflow.com

AIY Projects: https://aiyprojects.withgoogle.com

Codelabs Assistant : https://codelabs.developers.google.com/?cat=Assistant

You can download the fonts at https://www.fontsquirrel.com/fonts/raleway

Page 56: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

http://bit.ly/zup-tdc-sp

VAGAS 100+

Page 57: Assistant com client library Desenvolvendo actions para o ... · Direcione o foco do usuário através da ordem das palavras e do estresse Não ensine "comandos" - falar é intuitivo

Obrigado! Perguntas?

Você pode me encontrar no

@WagnerMessiasC