Criar ações para o Google Assistente usando o Actions Builder (nível 2)

1. Visão geral

A plataforma de desenvolvedores do Google Assistente permite criar softwares para ampliar a funcionalidade desse assistente pessoal virtual em mais de um bilhão de dispositivos, incluindo alto-falantes inteligentes, smartphones, carros, TVs, fones de ouvido e muito mais. O usuário interage com o Google Assistente em uma conversa para realizar tarefas, como fazer compras ou reservar uma viagem. Como desenvolvedor, você pode usar a plataforma para desenvolvedores do Google Assistente para criar e gerenciar experiências de conversação eficazes entre o usuário e seu próprio serviço de atendimento terceirizado.

Este codelab aborda conceitos de nível intermediário para desenvolvimento com o Google Assistente e se baseia na ação criada no nível 1. Recomendamos que você conclua o codelab do nível 1 antes de iniciar este.

A ação que será criada neste codelab informa a previsão do futuro do usuário ao se aventurar em uma terra mitológica chamada Gryffinberg, de acordo com o auxílio que ele escolher.

O que você vai criar

Neste codelab, você vai criar uma ação de conversa sofisticada com as seguintes funções:

  • Coletar dados do usuário e, dependendo do valor, modificar solicitações de conversa
  • Responder às perguntas adicionais para continuar a conversa
  • Criar um loop de jogo para que o usuário possa interagir com a ação novamente depois de receber a previsão do futuro

Antes de começar a criar, você pode interagir com a ação ativa no dispositivo com o Google Assistente. Basta dizer "Ok Google, falar com Fate and Fortune (Previsão do futuro e destino)". O caminho padrão dessa ação para um usuário retornante gera a seguinte interação:

dd6f5c61296b8b50.png

eba043f546aa8c51.png

O que você aprenderá

  • Como usar slots para coletar dados do usuário
  • Como usar condições para adicionar lógica a uma cena
  • Como adicionar um loop de jogo
  • Como adicionar um caminho de apoio

Pré-requisitos

Os pré-requisitos deste codelab incluem:

É recomendável ter familiaridade com o JavaScript (ES6), embora não seja obrigatório para entender o código de fulfillment deste codelab.

2. Continuar criando a interface de conversa

No primeiro codelab, você criou uma ação de conversa simples com uma só cena, Start.

Neste codelab, você vai ampliar a conversa da ação. Nas seções a seguir, você vai configurar sua ação para realizar o seguinte:

  • Fazer a transição para uma nova cena Fortune quando o usuário quiser ouvir a previsão do futuro
  • Perguntar ao usuário qual auxílio ele quer escolher
  • Oferecer uma previsão do futuro personalizada com base na escolha do usuário

Criar Fortune cena

Nesta seção, você vai criar a cena Fortune e definir como o usuário faz essa transição durante a conversa.

Para criar uma cena chamada Fortune, siga estas etapas:

  1. Abra seu projeto do Actions do codelab de nível 1.
  2. Clique em Desenvolver na barra de navegação.
  3. Em Cenas, clique em Iniciar.
  4. Clique na intent sim (a caixa Quando "sim" corresponder) para abrir as opções.
  5. Desmarque Enviar solicitações para remover a solicitação.
  6. Na seção Transição, clique no menu suspenso e na caixa de texto. Depois, digite Fortune.
  7. Clique em Adicionar. Isso vai criar uma cena chamada Fortune. Além disso, adicionará uma transição da cena Start à cena Fortune quando o usuário quiser ouvir a previsão do futuro.

56682a0c7459b98c.png

Definir lógica de conversa para a cena Fortune

Neste codelab, você vai configurar a cena Fortune para perguntar ao usuário: "O que você escolhe para ajudar na sua missão: um dragão, um tradutor ou uma bússola?" Antes de continuar, use um recurso chamado preenchimento de slot para coletar as informações do usuário necessárias.

Sua ação oferece opções de previsão do futuro com três auxílios: um dragão, um tradutor e uma bússola. Para que sua ação identifique essas três opções na entrada de um usuário, crie um tipo.

Você pode usar tipos na etapa de preenchimento do slot de uma cena para definir as informações do usuário que quiser. Quando o mecanismo de PLN detecta uma correspondência na entrada do usuário, ele extrai o slot como um parâmetro digitado para que você possa executar a lógica com ele em uma cena.

Criar tipo available_options

Nesta seção, você vai criar um tipo chamado available_options, que especifica as três opções que os usuários têm (dragão, tradutor e bússola) em resposta à solicitação. Você também vai definir alguns sinônimos para essas opções caso um usuário diga algo semelhante. Em outra seção, você vai adicionar o tipo available_options a um slot para especificar que quer acessar a escolha do usuário.

Para criar o tipo available_options, siga estas etapas:

  1. Na barra de navegação, clique em Tipos.
  2. Clique em + (sinal de adição), digite available_options e pressione Enter.
  3. Clique em available_options para abrir as opções.

Os tipos são configurados como pares de chave-valor de informações, em que chave é o nome do tipo, e os valores são sinônimos dessa chave. Ao definir a chave, ela é adicionada automaticamente como um valor.

Para adicionar as três opções que o usuário pode escolher, siga estas etapas:

  1. Role até a seção Adicionar entradas.
  2. No campo Nova entrada, digite dragon e pressione Enter. Essa ação cria uma chave dragon.
  3. Digite hydra no campo Adicionar valores e pressione Enter para adicionar como um valor (sinônimo). Em seguida, repita essa etapa para o valor lizard.
  4. Adicione as outras chaves e os valores correspondentes:
  • translator | translator, communicator, machine, decoder, translate
  • compass | compass, direction, guide

8333b1b67445f21.png

  1. Clique em Salvar.

Sua ação agora entende que available_options representa dragão, tradutor e bússola, além de reconhecer alguns sinônimos.

Configurar o preenchimento de slot

Agora, configure o preenchimento de slot na cena Fortune. Para configurar a lógica de preenchimento de slot, siga estas etapas:

  1. Na barra de navegação, em Cenas, clique em Fortuna.
  2. Na cena Fortune, clique no + (sinal de adição) para Preenchimento de slot.
  3. No campo Inserir o nome do slot, adicione chosenOptions.
  4. Na lista suspensa Selecionar tipo, selecione available_options como o tipo de slot.
  5. Marque a caixa de seleção Este slot é obrigatório.

a461b906476e244.png

  1. Selecione Enviar solicitações e adicione a mensagem e os ícones de sugestão a seguir:
candidates:
  - first_simple:
      variants:
        - speech: >-
            What do you choose to help you on your quest, a dragon, a
            translator, or a compass?
    suggestions:
      - title: 'Dragon'
      - title: 'Translator'
      - title: 'Compass'
  1. Clique em Salvar.

Você adicionou o tipo available_options ao slot, que avisa à ação as informações do usuário que é preciso coletar (a opção de auxílio) antes de continuar. Além disso, configurou uma solicitação dentro do slot, que é adicionado à fila de solicitação quando o usuário chega ao estágio de preenchimento do slot da cena.

Observe que, ao nomear o slot chosenOptions, o campo Personalize o valor do slot será atualizado com o mesmo nome ($session.params.chosenOptions). Você pode acessar esse parâmetro pelo nome no Actions Builder e no seu fulfillment na biblioteca de cliente.

Configurar a condição scene.slots.status == "FINAL"

Quando você adiciona um slot, a condição scene.slots.status == "FINAL" é adicionada automaticamente à lista.

A condição scene.slots.status == "FINAL" verifica se o preenchimento de slot foi concluído. Quando todos os slots forem preenchidos, a condição pode acionar um webhook, fazer a transição para uma nova cena ou adicionar solicitações à fila.

Nesta seção, você vai configurar scene.slots.status == "FINAL" para adicionar uma solicitação à fila depois que os slots forem preenchidos.

Para adicionar a solicitação à condição FINAL, siga estas etapas:

  1. Clique em scene.slots.status == "FINAL" para abrir a janela de opções.
  2. Selecione Enviar solicitações e adicione o seguinte:
candidates:
  - first_simple:
      variants:
        - speech: You picked $session.params.chosenOptions.
  1. Clique em Salvar.

Testar ação no simulador

Você já definiu as opções que o usuário precisa selecionar para preencher o slot. Depois de obter as informações do usuário, a ação deve fornecer uma solicitação de acordo com a opção escolhida.

Para testar a ação, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Clique ou digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.

a899d45c542668f6.png

  1. Clique, digite ou diga dragon. Aparecerá a mensagem "Você escolheu um dragão".

Na próxima seção, você vai personalizar as solicitações para cada auxílio disponível ao usuário.

Personalizar solicitações usando condições

Nesta seção, você vai adicionar condições para cada opção disponível ao usuário, além de uma solicitação personalizada para cada condição.

Personalizar a previsão do futuro de dragon

Para atualizar a condição e personalizar a solicitação caso o usuário escolha "dragão", siga estas etapas:

  1. Clique em Desenvolver na barra de navegação.
  2. Na barra de navegação, clique na cena Fortune.
  3. Clique em scene.slots.status == "FINAL" para abrir a janela de opções.
  4. Atualize a instrução de condição para: scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon"
  5. Selecione Enviar solicitações.
  6. Atualize a solicitação com a seguinte previsão do futuro no editor de código:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The people of Gryffinberg will be awestruck by the beauty and power
            of the ancient dragon. Much to your dismay, the townspeople fall
            into dispute over who will receive the honor of riding the dragon
            first. You return home from your quest without everlasting glory or
            a dragon.
  1. Clique em Salvar.

d31767232ad908bd.png

Agora, quando um usuário disser "dragão" ou algo parecido, sua ação vai oferecer uma previsão do futuro de acordo com essa seleção. Em seguida, adicione as duas seleções restantes.

Personalizar a previsão do futuro de translator

Para adicionar a condição e personalizar a solicitação para quando um usuário escolher "tradutor", siga estas etapas:

  1. Clique no + (sinal de adição) ao lado de Condição.
  2. Adicione scene.slots.status == "FINAL" && session.params.chosenOptions == "translator" ao campo mais se.
  3. Selecione Enviar solicitações.
  4. Adicione a seguinte solicitação no editor de código:
candidates:
  - first_simple:
      variants:
        - speech: >-
            With the help of the translator, the rival factions in Gryffinberg
            are finally able to communicate with each other and resolve their
            disputes. You will complete your quest to restore peace in the town.
            The translator will be used on many subsequent journeys across the
            earth. After its work is done, it retires honorably to a premier
            location in the Gryffinberg History Museum.
  1. Clique em Salvar.

c1af65e70dbf3dfe.png

Personalizar a previsão do futuro de compass

Para adicionar a condição e personalizar a solicitação para quando um usuário escolher "bússola", siga estas etapas:

  1. Clique no + (sinal de adição) ao lado de Condição.
  2. Adicione scene.slots.status == "FINAL" && session.params.chosenOptions == "compass" à caixa de texto mais se.
  3. Selecione Enviar solicitações.
  4. Adicione a seguinte solicitação no editor de código:
candidates:
  - first_simple:
      variants:
        - speech: >-
            The compass will help you find the mystical and ancient Library of
            Gryffinberg. Among its infinite stacks of dusty books, you find one
            entitled "Wisdom of the Ages". By the time you've read the
            50,000-page tome, the townspeople have forgotten their problems. You
            will write a second edition of "Wisdom of the Ages", but have
            limited commercial success.
  1. Clique em Salvar.

Testar ação no simulador

Agora, a ação precisa fornecer uma previsão personalizada para o usuário conforme a opção selecionada.

Para testar a ação, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.
  4. Clique, digite ou diga Translator.

29e17f950bd0dd71.png

Você receberá a previsão do futuro adequada da opção "tradutor".

3. Adicionar loop de jogo

Nesta seção, você vai configurar sua ação para que o usuário possa selecionar outra opção e ouvir uma previsão diferente. Essa mudança é semelhante à mensagem "Você quer jogar novamente?" ao final de um jogo. Para criar esse loop, reutilize as intents yes e no criadas e adicione-as a uma nova cena chamada Again.

Criar a cena Again

Nesta seção, você vai criar uma cena Again e adicionar uma solicitação para perguntar se o usuário quer selecionar outra opção.

Para criar a cena Again, siga estas etapas:

  1. Clique em Desenvolver na barra de navegação.
  2. Em Cenas, clique no + (sinal de adição).
  3. Digite Again e pressione Enter.
  4. Clique na cena Again na barra de navegação.
  5. Clique no + (sinal de adição) ao lado de Enter.
  6. Selecione Enviar solicitações e adicione os seguintes ícones de solicitação e sugestão:
candidates:
  - first_simple:
      variants:
        - speech: >-
            That is what I see for you. Would you like to choose a different option and
            explore another future?
    suggestions:
      - title: 'Yes'
      - title: 'No'
  1. Clique em Salvar.

Adicionar transição da cena Fortune para Again

Após o usuário receber a previsão do futuro, a conversa precisa fazer a transição para a nova cena Again.

Para adicionar uma transição da cena Fortune à Again, siga estas etapas:

  1. Clique na cena Fortune.
  2. Clique na primeira condição (scene.slots.status == "FINAL" && session.params.chosenOptions == "dragon") para abrir a janela de opções.
  3. Role e selecione Again em Transição.
  4. Clique em Salvar.
  5. Clique na segunda condição para abrir a janela de opções.
  6. Role e selecione Again em Transição.
  7. Clique em Salvar.
  8. Clique na terceira condição para abrir a janela de opções.
  9. Role e selecione Again em Transição.
  10. Clique em Salvar.

Testar ação no simulador

Agora, sua ação deve fornecer a seguinte solicitação depois que o usuário receber a previsão: "É isso que vejo para você. Quer escolher outra opção e explorar outro futuro?"

Para testar a ação, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.
  4. Clique, digite ou diga dragon.

b299e9fed9aedb69.png

Você receberá a previsão do futuro para a opção de dragão e a solicitação Again.

Adicionar intents e transição para a cena Again

Nesta seção, você adicionará as intents yes e no à cena Again. Assim, a ação poderá entender se o usuário quer ou não escolher uma nova opção. Você também vai adicionar as transições adequadas para as intents yes e no. A intent yes faz a transição para a cena Fortune, e a no faz a transição para a cena do sistema End conversation.

Para adicionar intents e transições à cena Again, siga estas etapas:

  1. Clique em Desenvolver na barra de navegação.
  2. Clique na cena Again.
  3. Clique no + (sinal de adição) ao lado de Processamento da intent do usuário.
  4. Selecione Sim no menu suspenso da intent.
  5. Selecione Fortune no menu suspenso Transição.
  6. Clique em Salvar.

c2efba35ea881b0d.png

  1. Clique no + (sinal de adição) ao lado de Processamento da intent do usuário.
  2. Selecione Não no menu suspenso de intent.
  3. Selecione Encerrar conversa no menu suspenso Transição.
  4. Selecione Enviar solicitações e adicione o seguinte no editor de código:
candidates:
  - first_simple:
      variants:
        - speech: >-
            It pleases me that you are satisfied with your choice. Best of luck on your quest. Farewell.
  1. Clique em Salvar.

Testar ação no simulador

Sua ação agora pode entender se o usuário quer escolher uma nova opção ou encerrar a conversa.

Para testar a intent yes, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.
  4. Clique, digite ou diga uma das opções.
  5. Digite Yes no campo Entrada e pressione Enter.

5d0690332efe2e29.png

Você receberá a solicitação "O que você quer usar como auxílio na sua missão: um dragão, um tradutor ou uma bússola?"

Para testar a intent no, siga estas etapas:

  1. Clique, digite ou diga uma das opções.
  2. Digite No no campo de entrada e pressione Enter.

Você receberá a mensagem End conversation: "Que bom que está feliz com sua escolha. Boa sorte na sua missão! Adeus."

4. Adicionar um caminho de apoio

Você criou o caminho principal que a maioria dos usuários usa na sua ação. No entanto, a resposta do usuário à solicitação da cena Fortune é "O que você escolhe para ajudar na sua missão: um dragão, um tradutor ou uma bússola, com uma opção que não é uma das opções disponíveis.

Nesta seção, você vai configurar sua ação para entender quando um usuário quiser "magic", "money", "horse" ou "phone" e solicitar que o usuário selecione uma das três opções originais quando escolher uma dessas opções. Para configurar essa lógica, você precisa criar uma type que contenha as outras opções e uma intent, other_option, que é associada quando um usuário indica uma delas. Também é necessário anotar frases de treinamento na intent other_option para identificar e extrair parâmetros de intent.

Quando o mecanismo de processamento de linguagem natural (PLN) do Google Assistente detecta uma correspondência de parâmetros na entrada do usuário, ele extrai o valor como um parâmetro digitado para que você possa executar a lógica em uma cena. Neste codelab, você vai configurar sua ação para extrair o auxílio que o usuário quiser e indicar essa escolha em uma solicitação.

Criar tipo unavailable_options

Agora você pode criar um tipo unavailable_options com uma variedade de opções diferentes para que sua ação possa identificar esses dados na entrada de um usuário.

Para criar o tipo unavailable_options, siga estas etapas:

  1. Clique em Desenvolver na barra de navegação.
  2. Em Tipos, clique no + (sinal de adição).
  3. Digite unavailable_options e pressione Enter.
  4. Clique em unavailable_options para abrir as opções.
  5. Digite as entradas e os valores correspondentes a seguir na seção Adicionar entradas:

horse

horse, stallion, steed

magic

magic, enchanted, spells

money

money, cash, gold

phone

phone, cell, apps

A tabela de chave-valor deve ser semelhante a esta:

c9e119e0f5fb2a47.png

  1. Clique em Salvar.

Criar intent other_option

Em seguida, crie uma intent chamada other_option e adicione frases de treinamento com as opções no tipo unavailable_options. Essa intent é acionada quando o usuário seleciona uma opção que apareça no tipo unavailable_options.

Para criar e configurar a intent other_option, siga estas etapas:

  1. Clique em + (sinal de adição), em Intents personalizadas.
  2. Digite other_option e pressione Enter.
  3. Clique em other_option para abrir a janela.
  4. Adicione as seguintes frases de treinamento e pressione Enter após cada uma:
  • I want to use spells
  • I really really want to use a phone
  • magic!
  • cash
  • I want to ride a horse
  1. Na seção Adicionar parâmetros de intent, atualize o nome do parâmetro para chosenUnavailableOption.
  2. Clique em Salvar.

Conforme você incluir as frases de treinamento, o Actions Builder vai reconhecer spells, phone, magic, cash e horse do tipo unavailable_options e destacar automaticamente (ou seja, anotar) essas palavras. O Actions Builder adiciona automaticamente os parâmetros à seção Adicionar parâmetros de intent, conforme a imagem a seguir.

O parâmetro da intent permite extrair o nome da opção para usar em uma solicitação.

df61d4489f0910.png

Adicionar a intent other_option à cena Fortune

Agora você tem uma intent, other_option, que será usada quando a escolha do usuário não fizer parte das opções originais. Nesta seção, você vai adicionar a intent other_option à cena Fortune. Use o parâmetro da intent para personalizar a solicitação com base na entrada do usuário.

Para adicionar a intent other_option à cena Fortune, siga estas etapas:

  1. Clique na cena Fortune.
  2. Clique no + (sinal de adição) ao lado de Processamento da intent do usuário.
  3. Selecione other_option no menu suspenso da intent.
  4. Selecione Enviar solicitações e adicione o seguinte:
candidates:
  - first_simple:
      variants:
        - speech: >-
            I have seen the future and a $intent.params.chosenUnavailableOption.original
            will not aid you on your journey. 

A expressão $intent.params.chosenUnavailableOption refere-se ao objeto do parâmetro da intent, e $intent.params.chosenUnavailableOption.original indica o valor desse objeto. O original property se refere à entrada bruta especificada pelo usuário.

  1. Clique em Salvar.

4bab1efbe21056aa.png

Quando um usuário menciona uma opção listada no tipo unavailable_options durante a cena Fortune, isso aciona a intent other_option e adiciona uma solicitação à fila. Como não há transição especificada, o loop de execução da cena continua reavaliando o estágio de condições. O slot chosenOptions adiciona a solicitação à fila, que é enviada ao usuário.

Testar ação no simulador

Agora, sua ação responderá adequadamente quando um usuário selecionar uma das opções listadas no tipo unavailable_options e especificar o auxílio selecionado. Sua ação precisa solicitar que o usuário escolha uma das opções originais (um dragão, um tradutor ou uma bússola).

Para testar a ação no simulador, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.
  4. Digite magic no campo Entrada e pressione Enter.

3a42c33eca435f32.png

Você vai notar que a solicitação não parece correta quando o usuário escolhe "mágica" devido ao artigo "um" ou "uma" antes da palavra. Saiba como resolver o problema nas seções a seguir.

Adicionar gerenciador unavailable_options

Para colocar o artigo "um" ou "uma" antes das opções apropriadas do tipo unavailable_options, configure um manipulador de eventos na sua lógica de fulfillment para verificar se a opção escolhida pelo usuário precisa de um artigo. Primeiro, configure sua ação para chamar o gerenciador a partir da cena.

Para adicionar o gerenciador unavailable_options, siga estas etapas:

  1. Clique em Desenvolver na barra de navegação.
  2. Clique na cena Fortune.
  3. Em Processamento da intent do usuário, clique em Quando há correspondência com other_option para abrir a janela.
  4. Desmarque a caixa de seleção Enviar solicitações.
  5. Marque a caixa de seleção Chamar o webhook.
  6. Digite unavailable_options na caixa de texto do manipulador de eventos.

52a0fba115f1b377.png

  1. Clique em Salvar.

Atualizar e implantar o fulfillment

Agora que você configurou a ação para chamar o manipulador de eventos unavailable_options, basta atualizar no seu fulfillment e implantar.

Para atualizar o fulfillment, siga estas etapas:

  1. Clique em Webhook na barra de navegação.
  2. Adicione o seguinte código no gerenciador greeting:
app.handle('unavailable_options', conv => {
  const option = conv.intent.params.chosenUnavailableOption.original;
  const optionKey = conv.intent.params.chosenUnavailableOption.resolved;
  let message = 'I have seen the future and ';
  if(optionsNeedA.has(optionKey)){
    message = message + 'a ';
  }
  message = message + `${option} will not aid you on your journey. `;
  conv.add(message);
});
  1. Adicione o seguinte código em const app = conversation();:
const optionsNeedA = new Set();
optionsNeedA.add('horse').add('phone');
  1. Clique em Salvar fulfillment.
  2. Clique em Implantar fulfillment. Quando a implantação for concluída, aparecerá a seguinte mensagem acima do editor: A implantação da função do Cloud foi atualizada.

Entender o código

O gerenciador unavailable_options faz o seguinte:

  • Recebe os dados option do objeto conv e atribui option à propriedade original, que contém as entradas brutas do usuário
  • Atribui optionKey à propriedade resolved, que é a chave do tipo unavailable_options
  • Verifica se optionKey é uma das opções que precisam de um artigo. Se for, cria a mensagem com o artigo necessário
  • Adiciona a mensagem via conv.add(message)

Testar ação no simulador

Agora, sua ação precisa ajustar a solicitação. Isso depende do uso do artigo "um" ou "uma" antes da escolha do usuário para o tipo unavailable_options.

Para testar a ação, siga estas etapas:

  1. Na barra de navegação, clique em Testar.
  2. Clique ou digite Talk to my test app no campo Entrada e pressione Enter.
  3. Digite Yes no campo Entrada e pressione Enter. Também é possível clicar no ícone de sugestão Sim.
  4. Digite magic no campo Entrada e pressione Enter.
  5. Digite horse no campo Entrada e pressione Enter.

54ee24c5c3c56e.png

Sua ação precisa adicionar o artigo "um" antes da opção "cavalo". Além disso, ela não pode incluir um artigo para a opção "mágica".

Como limpar o projeto [recomendado]

Para evitar possíveis cobranças, é recomendável remover os projetos que você não pretende usar. Para excluir os projetos criados neste codelab, siga estas etapas:

  1. Para excluir o projeto e os recursos do Cloud, conclua as etapas da seção Como encerrar (excluir) projetos.
  1. Opcional: para remover seu projeto do Console do Actions imediatamente, consulte Excluir um projeto. Caso contrário, seu projeto será removido automaticamente após cerca de 30 dias.

5. Parabéns!

Agora você já tem as habilidades intermediárias necessárias para criar ações no Google Assistente.

Conteúdo abordado

  • Como desenvolver ações de conversa usando a biblioteca de fulfillment do Node.js
  • Como usar slots para coletar dados do usuário
  • Como usar condições para adicionar lógica à cena
  • Como adicionar um loop de jogo
  • Como adicionar um caminho de apoio

Saiba mais

Confira os seguintes recursos para saber mais sobre como criar ações para o Google Assistente:

Siga nosso perfil do Twitter @ActionsOnGoogle para ficar por dentro dos nossos comunicados mais recentes e envie um tuíte para #AoGDevs contando o que você criou.

Pesquisa de feedback

Antes de sair, preencha esta breve pesquisa sobre sua experiência.