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.
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:
- Acesse o Console do Actions.
- Clique em Novo projeto.
- Digite um nome para o projeto e clique em Criar projeto.
- Na tela Que tipo de ação você quer criar?, selecione a categoria que melhor representa seu projeto e clique em Próxima.
- 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:
- Crie um diretório vazio para o projeto do Actions no seu sistema de arquivos local.
- Nesse diretório vazio, crie um diretório
sdk
. - 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:
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 ...
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.
Para testar um projeto:
- Execute
gactions deploy preview
para implantar a ação para visualização. e ativar 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