Projetos de build

Um projeto do Actions empacota todas as ações em um único contêiner. Você publicar este projeto no Actions on Google para que o Google Assistente saiba como descobrir e invoque suas experiências de conversa.

componentes do projeto de ações
Figura 1. Estrutura do projeto do Actions

Você usa os seguintes componentes de baixo nível para criar seu projeto do Actions:

  • Configurações e recursos definem os metadados do projeto. e recursos como ícones de projeto. O Google usa essas informações para publicar suas ações ao diretório do Assistente, para que os usuários possam descobrir e invocar para resolvê-los com rapidez.

  • Intents representam uma tarefa a ser realizada, como entrada do usuário ou um evento do sistema que precisa de processamento. O tipo mais comum de que você usará são as intents do usuário. Essas intents permitem que você declare o treinamento frases que são naturalmente expandidas pelo processamento de linguagem natural (PLN) mecanismo para incluir muitas outras frases parecidas. O PLN usa a agregação essas frases para treinar um modelo de linguagem que o Google Assistente usa para corresponder entrada. Durante uma conversa, se alguma entrada do usuário corresponder ao idioma da intent o ambiente de execução do Google Assistente envia a intent à ação para que ela possa processá-los e responder ao usuário.

  • Com os tipos, você pode extrair dados estruturados da entrada do usuário. De anotando frases de treinamento com tipos, o PLN extrai dados relevantes e você não precisa analisar entradas abertas.

  • Scenes processam intents e são os principais executores lógicos de suas ações. Eles podem preencher o slot, avaliar a lógica condicional, solicitações ao usuário e até mesmo chamar serviços da Web externos para realizar lógica de negócios. Em combinação com intents, as cenas oferecem uma maneira poderosa de detectar entradas específicas do usuário ou eventos do sistema e realizar as ações lógica.

  • Os comandos definem as respostas estáticas ou dinâmicas que você usa para responder aos usuários.

  • Os Webhooks permitem delegar trabalho extra a serviços da Web. (fulfillment), como validar dados ou gerar comandos. Suas ações se comunicar com o fulfillment usando um protocolo de webhook baseado em JSON.

  • Com a Tela interativa, você cria imagens e experiências imersivas com aplicativos da web que utilizam HTML, CSS e JavaScript.

Criar um projeto

Você precisa criar um projeto no Console do Actions antes de desenvolver para Google Assistente Para criar um projeto:

  1. Acesse o Console do Actions.
  2. Clique em Novo projeto.
  3. Digite um nome para o projeto e clique em Criar projeto.
  4. Na tela Que tipo de ação você quer criar?, selecione a categoria que melhor representa seu projeto e clique em Próxima.
  5. Na tela Como você quer criar, selecione uma forma de criar e clique em Começar a criar. Por exemplo, é possível começar com uma ou com uma amostra.
.

Criar um projeto local do SDK do Actions

Depois de criar um projeto no Console do Actions, será possível inicializar um projeto no ambiente de desenvolvimento local.

Para inicializar um projeto do SDK do Actions com base em outro que já existe, siga estas etapas: estas etapas:

  1. Crie um diretório vazio para o projeto do Actions no seu sistema de arquivos local.
  2. Nesse diretório vazio, crie um diretório sdk.
  3. Mude o diretório de trabalho para o diretório sdk no terminal.

Começar com um projeto vazio

Se você quiser começar do projeto vazio recém-criado no console, execute gactions pull --project-id <my-project-id>.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

Começar com um projeto de exemplo

Se você quiser começar com um projeto de exemplo, execute gactions init <sample name>.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

Definir as informações do projeto

As configurações e os recursos do seu projeto definem as informações dele, como suporte a recursos e plataformas, localidades aceitas, nome de exibição, descrição, logotipos e muito mais. A tabela a seguir descreve as principais configurações e recursos que você fornecer. Esse recurso é usado pelo Actions on Google para implantar e publicar seu projeto no Assistente diretório atual.

Nome Descrição
Informações do diretório Fornece informações para que o Actions on Google possa publicar seus projeto para o diretório do Assistente. Inclui metadados e descrições sobre seu projeto e recursos de imagem para logotipos e imagens de banner.
Segmentação por local Configura as localidades em que suas ações estão disponíveis.
Recursos da plataforma Configura as plataformas em que suas ações estão disponíveis.
Detalhes da empresa Especifica os dados de contato da sua empresa.
Verificação de marca Conecte um site ou app Android de sua propriedade para ter mais benefícios como nomes de invocação reservados e vinculação de sites nas suas ações.
Versão Configura diferentes versões de teste e produção para sua ação para testes e produção.
Links do Google Assistente Permita que os usuários invoquem suas ações nas propriedades da Web.

Para definir as informações do projeto:

  1. Defina as configurações globais do seu projeto do Actions no sdk/settings/settings.yaml. Consulte a referência de Configurações documentação para valores compatíveis.

    O snippet a seguir mostra um exemplo de arquivo sdk/settings/settings.yaml:

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

  2. Definir configurações que podem variar com base na localidade do usuário (por exemplo, frases de invocação em idiomas diferentes) em um arquivo sdk/settings/<locale>/settings.yaml, substituindo locale pela localidade de destino.

    Consulte LocalizedSettings documentação de referência para saber os valores compatíveis.

    O snippet a seguir é um exemplo de configurações em inglês definidas em um Arquivo sdk/settings/en/settings.yaml:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

Adicionar recursos

É possível armazenar recursos como arquivos de imagem, arquivos de áudio e strings no no projeto do Actions e referencie-os em arquivos de configuração (por exemplo, comando definições ou condições) usando a variável $resources definida pelo sistema.

Os recursos do projeto são armazenados em resources/, e cada tipo de recurso é atribuiu uma pasta no diretório.

Você pode localizar recursos criando pastas específicas da localidade no recurso por exemplo, você pode armazenar versões em espanhol das strings em resources/strings/es/<filename>.yaml:

Imagens

Os arquivos de imagem são armazenados em resources/images/ e você pode referenciá-los com $resources.images.<name of the image file without file extension>. As extensões de arquivo permitidas são:

  • gif
  • png
  • jpg
  • jpeg

Por exemplo, se a versão em inglês do logotipo pequeno for salva em resources/images/en/square.png e a versão em inglês do banner grande está salvos em resources/images/en/landscape.jpg, respectivamente, A sdk/settings/en/settings.yaml do exemplo anterior seria:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

Arquivos de áudio

Os arquivos de áudio são armazenados em resources/audio/ e você pode referenciá-los com $resources.audio.<name of the audio file without file extension>.

As extensões de arquivo permitidas são:

  • mp3
  • mpeg

Por exemplo, você pode mencionar gravações de áudio de comandos:

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

Strings

Strings são armazenadas em resources/strings/ como arquivos .yaml. Cada arquivo contém Um mapa de chaves de string e valores associados, que podem ser strings ou listas únicas de strings. É possível fazer referência aos valores usando $resources.strings.<name of the image file without file extension>.<key> para valores de string única ou para obter um valor aleatório de uma lista e $resources.strings.<name of the image file without file extension>.<key>.<numerical index> para um valor de string específico em uma lista.

Por exemplo, usando strings de recurso para localização de strings, O sdk/settings/en/settings.yaml do exemplo anterior pode ficar assim:

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

Testar projetos no simulador

O Console do Actions oferece um simulador para visualização das suas ações. A permite que você veja informações de depuração, defina recursos do dispositivo, simule localidade e muito mais.

Figura 3. As principais áreas do simulador: (1) entrada do usuário, (2) visualização do dispositivo, (3) opções e configurações e (4) registro de conversas.

Para testar um projeto:

  1. Execute gactions deploy preview para implantar a ação para visualização. e ativar no simulador.
  2. Abra o URL na resposta ao comando para acessar o simulador.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview