Um projeto do Actions agrupa todas as ações em um único contêiner. Você publica esse projeto no Actions on Google para que o Google Assistente saiba como descobrir e invocar suas experiências de conversa.
Use os seguintes componentes de baixo nível para criar seu projeto do Actions:
Configurações e recursos definem os metadados e recursos do projeto, como ícones. O Google usa essas informações para publicar suas ações no diretório do Assistente, para que os usuários possam descobrir e invocá-las.
Intents representam uma tarefa a ser realizada, como alguma entrada do usuário ou um evento do sistema que precisa de processamento. O tipo mais comum de intent que você vai usar são as intents do usuário. Essas intents permitem declarar frases de treinamento que são naturalmente expandidas pelo mecanismo de processamento de linguagem natural (PLN) para incluir muitas outras frases semelhantes. A PLN usa a agregação dessas frases para treinar um modelo de linguagem que o Google Assistente usa para corresponder à entrada do usuário. Durante uma conversa, se alguma entrada do usuário corresponder ao modelo de linguagem da intent, o ambiente de execução do Google Assistente enviará a intent à sua ação para que ela possa processá-la e responder ao usuário.
Com os tipos, é possível extrair dados estruturados da entrada do usuário. Ao anotar frases de treinamento com tipos, o PLN pode extrair dados estruturados relevantes para você. Assim, não é preciso analisar a entrada aberta.
Scenes processa intents e são os principais executores de lógica das suas ações. Eles podem fazer o preenchimento de slots, avaliar a lógica condicional, retornar solicitações ao usuário e até mesmo chamar serviços externos da Web para realizar a lógica de negócios. Em combinação com intents, as cenas oferecem uma maneira eficiente de detectar eventos específicos de entrada do usuário ou do sistema e realizar a lógica correspondente.
As solicitações definem as respostas estáticas ou dinâmicas que você usa para responder aos usuários.
Com os Webhooks, é possível delegar trabalho extra a serviços da Web (fulfillment), como validação de dados ou geração de comandos. Suas ações se comunicam com o fulfillment por um protocolo de webhook baseado em JSON.
A tela interativa permite criar experiências avançadas e imersivas com apps da Web que usam HTML, CSS e JavaScript.
Criar um projeto
Você precisa criar um projeto no Console do Actions antes de desenvolver para o Google Assistente. Para criar um projeto:
- Acesse o Console do Actions.
- Clique em Novo projeto.
- Digite um nome e clique em Criar projeto.
- Na tela Que tipo de ação você quer criar?, selecione uma categoria que melhor represente seu projeto e clique em Próximo.
- Na tela Como você quer criar o build, selecione uma maneira de criar e clique em Começar a criar. Por exemplo, comece com um projeto vazio ou com uma amostra.
Criar um projeto local do SDK do Actions
Depois de criar um projeto do Actions no Console do Actions, você pode inicializá-lo no seu ambiente de desenvolvimento local.
Para inicializar um projeto do SDK do Actions em um projeto atual, siga estas etapas:
- Crie um diretório vazio para o projeto do Actions no sistema de arquivos local.
- Neste diretório vazio, crie um diretório
sdk
. - Altere o diretório de trabalho para o diretório
sdk
no terminal.
Começar com um projeto vazio
Se quiser começar do projeto vazio que você acabou de criar 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 informações sobre ele, 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ê oferece. O Actions on Google usa essas informações para implantar e publicar seu projeto no diretório do Google Assistente.
Nome | Descrição |
---|---|
Informações do diretório | Fornece informações para que o Actions on Google possa publicar seu projeto no 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 de superfície | 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 outros benefícios, como nomes de invocação reservados e links de sites nas suas ações. |
Versão | Configura diferentes versões de teste e produção da ação para teste e produção. |
Links do Assistente | Permita que os usuários invoquem ações nas suas propriedades da Web. |
Para definir as informações do projeto:
Defina as configurações globais para o projeto do Actions em
sdk/settings/settings.yaml
. Consulte os valores compatíveis na documentação de referência Configurações.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 ...
Defina configurações que podem variar de acordo com a 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 a documentação de referência de LocalizedSettings para ver os valores compatíveis.
O snippet abaixo é um exemplo para 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
projeto do Actions e referenciá-los nos arquivos de configuração (por exemplo, definições
ou condições de prompt) usando a variável $resources
definida pelo sistema.
Os recursos do projeto são armazenados em resources/
, e cada tipo de recurso recebe
uma pasta no diretório.
Você pode localizar recursos criando pastas específicas de localidade na pasta de tipo
de 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 podem ser referenciados
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
for salva em resources/images/en/landscape.jpg
, respectivamente,
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 podem ser referenciados
com $resources.audio.<name of the audio file without file extension>
.
As extensões de arquivo permitidas são:
mp3
mpeg
Por exemplo, é possível consultar gravações de áudio dos 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
As 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 únicas ou listas
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 receber 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 dentro de uma lista.
Por exemplo, ao usar strings de recurso para localização de strings,
o sdk/settings/en/settings.yaml
do exemplo anterior pode se tornar:
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 tem um simulador para você conferir uma prévia das suas ações. O simulador permite ver informações de depuração, definir recursos do dispositivo, simular localidade e muito mais.
Para testar um projeto:
- Execute
gactions deploy preview
para implantar a ação na visualização e ativar o teste no simulador. - 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