Criando Sua Primeira Skill Alexa

Tempo de leitura: 10 min

Escrito por Celso Kitamura
em 30 de janeiro de 2020

Compartilhe agora mesmo:

Criando Sua Primeira Skill Alexa
Rate this post

Você já sabe o que é preciso para criar uma Alexa skill. Já tem uma conta de desenvolvedor na Amazon. Agora chegou a hora de criar sua primeira skill Alexa.

 

Acesse o console do desenvolvedor, clicando em Sign In (no canto superior direito):

 

https://developer.amazon.com/alexa/console/ask

 

Digite seus dados (login e senha) no formulário que se abre.

Clique em Sign-In.

 

Tela de login

Tela de login

 

Você será redirecionado para a página inicial do Console de Desenvolvedor Alexa:

 

Tela inicial do Console do Desenvolvedor Alexa

Tela inicial do Console do Desenvolvedor Alexa

 

Ela mostra em uma lista as skills que você já criou. Provavelmente ela estará vazia, como na figura:

 

Lista de skills criadas

Lista de skills criadas

 

Criando Sua Primeira Skill Alexa

 

Nesta página, clique no botão Create Skill (Criar Skill)

 

Criando Sua Primeira Skill Alexa

Criando Sua Primeira Skill Alexa

 

  • No campo Skill Name, digite Alô Mundo
  • Em Default Language, seleciona Portuguese-(BR)
  • Em Choose a model to add to your skill, selecione Custom

Este é o modelo de skill personalizado, onde você precisa codificar suas interações com o usuário.

  • Em Choose a method to host your skill’s backend resources, selecione Alexa-Hosted (Node.js)

Nesta opção, o código de sua skill ficará hospedado dentro da nuvem da Alexa. Esta opção é gratuita, mas possui algumas restrições de uso.

  • Clique no botão Create Skill.

 

Escolha um modelo para sua skill

Escolha um modelo para sua skill

 

Agora você precisa escolher um modelo para sua skill.

  • Em Choose a template to add to your skill, selecione Hello World Skill.
  • Clique no botão Choose.

 

Captcha para completar as configurações iniciais da skill

Captcha para completar as configurações iniciais da skill

 

  • Digite o texto do captcha que será mostrado para provar que você não é um robô.
  • Clique no botão Submit.

 

Aguarde a provisão dos recursos

Aguarde a provisão dos recursos

 

Pronto, neste momento todos os recursos necessários para sua skill serão provisionados dentro da nuvem da Alexa. Este processo leva alguns minutos para ser concluído.

 

Quando tudo estiver pronto, você verá a tela inicial da criação da skill:

 

Tela inicial de criação da skill

Tela inicial de criação da skill

 

Vários avisos apareceram no canto inferior direito. Elas dão alguns avisos e informam sobre o build da skill. Pode fechar todas elas.

 

Definindo O Nome De Invocação (Invocation Name)

 

Primeiro, precisamos configurar o nome que o usuário usará para chamar sua skill.

 

Clique em Invocation, no menu a esquerda.

 

Escolhendo o nome de invocação (invocation name)

Escolhendo o nome de invocação (invocation name)

 

No campo Skill Invocation Name digite “alô mundo”, em letras minúsculas.

 

Os usuários usam o nome de invocação para iniciar a interação com a sua skill.

 

Por exemplo, se o nome de invocação for “horóscopo diário”, os usuários poderão dizer: “Alexa, peça para horóscopo diário o horóscopo para Gêmeos”

 

Algumas regras sobre o nome de invocação:

  • Deve possuir duas ou mais palavras
  • Deve ter somente letras minúsculas
  • Números devem ser usados por extenso. Exemplo: vinte e um

 

Para não correr o risco de perdermos o trabalho enquanto desenvolvemos, clique no botão Save Model.

 

Configurando Intenções (Intents)

 

Agora vamos definir o modelo pelo qual o usuário irá interagir com sua skill.

 

Clique em HelloWorldIntent no menu a esquerda, abaixo de Intents.

 

Configurando intenções (Intents)

Configurando intenções (Intents)

 

Neste modelo já temos uma intent criada, porém ela está em inglês. Vamos adaptá-la para o português.

 

Exclua todas as declarações (utterances), clicando no ícone da lata de lixo no canto direito de cada declaração.

 

Configurando Declarações (Utterances)

Configurando Declarações (Utterances)

 

Agora cadastre as novas declarações, em português:

  • Alô
  • Como vai você
  • Diga oi mundo
  • Diga oi
  • Oi
  • Diga alô mundo
  • Diga alô

 

Clique no botão Save Model.

Clique no botão Build Model.

 

Todas as definições que fizemos até agora serão compiladas e se tudo estiver certo você verá um aviso de sucesso:

 

Build com sucesso

Build com sucesso

 

Nosso modelo de interação está pronto, agora vamos para o código

 

Codificando Sua Primeira Skill Alexa

 

Clique na aba Code

 

Aba Code

Aba Code

 

Como estamos utilizando o modelo Alexa Hosted, todo o código fica dentro da nuvem da Alexa e podemos utilizar o próprio console do desenvolvedor para programar nossa skill.

 

Esta parte da skill será utilizada quando o usuário disser algumas das declarações (Utterance) que configuramos nas intenções (Intents).

 

O arquivo index.js indica para o servidor que a execução do código deve começar nele.

 

Quando você abriu a aba Code, provavelmente ela abriu com o arquivo index.js já na área de visualização.

 

Nele estão todas as intenções que utilizamos na skill.

 

Vamos nos focar nas mais importantes para nossa skill Alô Mundo.

 

Temos o LaunchRequestHandler, que é disparado quando o usuário ativa nossa skill:

 

canHandle(handlerInput) {

return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';

 

Nele podemos ver que existe uma mensagem de boas-vindas configurada numa string.

 

const speakOutput = 'Welcome, you can say Hello or Help. Which would you like to try?';

 

Vamos altera-la para português: “Olá, você pode dizer Alô ou Ajuda. Gostaria de tentar?”.

 

Alterando mensagem de abertura

Alterando mensagem de abertura

 

O trecho final pede para Alexa falar para o usuário a mensagem de boas-vindas:

 

.speak(speakOutput)

 

e aguardar o próximo comando:

 

.reprompt(speakOutput)

 

Para cada intenção (Intent) configurada no nosso modelo é preciso um handle para ser executada em nosso código. Neste caso temos apenas uma (HelloWorldIntent) e o seu handle correspondente no código (HelloWorldIntentHandler).

 

Este trecho de código (HelloWorldIntentHandler) será executado quando a intenção HelloWorldIntent for chamada:

 

canHandle(handlerInput) {
return Alexa.getRequestType(handlerInput.requestEnvelope) === 'IntentRequest'
&& Alexa.getIntentName(handlerInput.requestEnvelope) === 'HelloWorldIntent';
}

 

Nele a skill apenas preencherá uma string com uma mensagem:

 

const speakOutput = 'Hello World!';

 

Que será lida pela Alexa:

 

.speak(speakOutput)

 

E encerrará a execução da skill, pois não temos o comando .reprompt (lembrando que // indica código comentado).

 

Vamos traduzir a mensagem utilizada neste código por “Alô mundo.”.

 

Traduzindo a resposta de HelloWorldIntent

Traduzindo a resposta de HelloWorldIntent

 

As demais handlers são padrões de uma skill e veremos com detalhes num outro artigo:

 

  • HelpIntentHandler
  • CancelAndStopIntentHandler
  • SessionEndedRequestHandler
  • IntentReflectorHandler
  • ErrorHandler

 

Antes de testar nossa skill precisamos gravar e compilar nossas alterações.

 

Clique no botão Save.

Clique no botão Deploy.

 

Testando Sua Primeira Skill Alexa

 

Chegou a hora de ver a skill funcionando!

 

Quando utilizamos a opção de hospedar o código na nuvem da Alexa, não precisamos ter um device físico para testar a skill, podemos fazer isso dentro do próprio Developer Console.

 

Clique na aba Test

 

O seu navegador provavelmente vai pedir permissão para utilizar o microfone.

 

permissão para utilizar o microfone

permissão para utilizar o microfone

 

Clique em Permitir.

 

Aba Test

Aba Test

 

Por padrão, a função de teste vem desabilitada para toda skill. Vamos habilitar o teste da skill através do combo.

 

Habilitando o teste da skill

Habilitando o teste da skill

 

Selecione Development

 

Agora a área abaixo deste combo foi liberado para utilização:

 

Aba Test habilitada para uso

Aba Test habilitada para uso

 

Podemos utilizar o microfone ou o teclado no simulador da Alexa.

 

Simulador Alexa

Simulador Alexa

 

Digite “Abra alô mundo” no campo de texto e pressione Enter.

 

Começando os testes

Começando os testes

 

Veja a resposta que a Alexa deu: justamente a que configuramos em LaunchRequest

 

Alexa responde justamente o que configuramos em LaunchRequest

Alexa responde justamente o que configuramos em LaunchRequest

 

Veja a mensagem que configuramos

Veja a mensagem que configuramos

 

Agora digite “diga alô”

 

Chamando a Intent HelloWorldIntent

Chamando a Intent HelloWorldIntent

 

Agora Alexa responde com Alô Mundo, que configuramos na intent HelloWorldIntent

 

Colocamos esta mensagem em HelloWorldIntent

Colocamos esta mensagem em HelloWorldIntent

 

Os testes podem ser feitos com voz também, basta clicar no ícone do microfone e dizer o comando.

 

Podemos utilizar o microfone para testar

Podemos utilizar o microfone para testar

 

Existe ainda mais duas possibilidades de testar nossa skill: através do aplicativo Alexa em nosso smartphone e usando um device físico (um Echo, por exemplo).

 

E é isso! Sua primeira skill está pronta!

 

Claro que existem muitos mais detalhes no desenvolvimento de uma Alexa skill, mas o objetivo deste artigo é apenas familiarizar você no ambiente de desenvolvimento e no processo de criação da skill.

 

Os detalhes da linguagem de programação (node.js) ficarão para outros artigos, pois o assunto é bem extenso.

 

Palavras Finais

 

Resumo do que fizemos até aqui (que na verdade é um passo a passo resumido do processo de desenvolvimento de uma skill Alexa):

  • Entramos no console do desenvolvedor da Alexa
  • Criamos uma skill hospedada na nuvem da Alexa a partir do modelo Hello World
  • Definimos uma palavra de invocação, o comando que o usuário utilizará para executar sua skill
  • Adequamos as intents (intenções) e utterances (declarações), os comandos que o usuário poderá utilizar depois que nossa skill estiver em execução.
  • Salvamos tudo que fizemos até aqui e construímos o modelo de interação clicando no botão Build Model
  • Adequamos o código fonte (traduzimos as respostas) dos trechos que serão executados quando o usuário disser algum comando previsto em nossas intents (intenções) e utterances (declarações)
  • Salvamos tudo e compilamos o código.
  • Habilitamos a aba Test para podermos testar nossa skill
  • Testamos nossa skill com o Simulador Alexa, digitando e dizendo comandos.

 

Se você quer saber mais sobre como desenvolver skills para Alexa e como ganhar dinheiro desenvolvendo Alexa skills, me acompanhe nesta jornada!

 

O primeiro passo é entrar para o Grupo VIP App Dev. Daí a nossa conversa começa!

 

 

 

Compartilhe agora mesmo:

Você vai gostar também:

Para enviar seu comentário, preencha os campos abaixo:

Deixe um comentário


*


*


2 Comentários

  • gabriel disse:

    Olá celso, acompanho você no Youtube.

    Gostaria de criar uma Skill de sistema de pontos por atividade.

    Em casa temos várias atividades, por exemplo lavar a louça, varrer o chão, etc. Para cada atividade quero atribuir um valor de pontuação específico. E então eu possa atribuir essas atividades para uma pessoa.

    Vem ai minha pergunta, eu consegui cadastrar as atividades atraves dos slots, mas como faço para que cada palavra tenha um valor específico? existe isso na alexa?

    1. OptimusPrime disse:

      Esse sistema de pontuação não existe pronto, você deve codificar dentro do seu backend.
      Provavelmente vc terá que fazer uma tabela interna baseada em palavras chave.

  • Damos valor à sua privacidade

    Nós e os nossos parceiros armazenamos ou acedemos a informações dos dispositivos, tais como cookies, e processamos dados pessoais, tais como identificadores exclusivos e informações padrão enviadas pelos dispositivos, para as finalidades descritas abaixo. Poderá clicar para consentir o processamento por nossa parte e pela parte dos nossos parceiros para tais finalidades. Em alternativa, poderá clicar para recusar o consentimento, ou aceder a informações mais pormenorizadas e alterar as suas preferências antes de dar consentimento. As suas preferências serão aplicadas apenas a este website.

    Cookies estritamente necessários

    Estes cookies são necessários para que o website funcione e não podem ser desligados nos nossos sistemas. Normalmente, eles só são configurados em resposta a ações levadas a cabo por si e que correspondem a uma solicitação de serviços, tais como definir as suas preferências de privacidade, iniciar sessão ou preencher formulários. Pode configurar o seu navegador para bloquear ou alertá-lo(a) sobre esses cookies, mas algumas partes do website não funcionarão. Estes cookies não armazenam qualquer informação pessoal identificável.

    Cookies de desempenho

    Estes cookies permitem-nos contar visitas e fontes de tráfego, para que possamos medir e melhorar o desempenho do nosso website. Eles ajudam-nos a saber quais são as páginas mais e menos populares e a ver como os visitantes se movimentam pelo website. Todas as informações recolhidas por estes cookies são agregadas e, por conseguinte, anónimas. Se não permitir estes cookies, não saberemos quando visitou o nosso site.

    Cookies de funcionalidade

    Estes cookies permitem que o site forneça uma funcionalidade e personalização melhoradas. Podem ser estabelecidos por nós ou por fornecedores externos cujos serviços adicionámos às nossas páginas. Se não permitir estes cookies algumas destas funcionalidades, ou mesmo todas, podem não atuar corretamente.

    Cookies de publicidade

    Estes cookies podem ser estabelecidos através do nosso site pelos nossos parceiros de publicidade. Podem ser usados por essas empresas para construir um perfil sobre os seus interesses e mostrar-lhe anúncios relevantes em outros websites. Eles não armazenam diretamente informações pessoais, mas são baseados na identificação exclusiva do seu navegador e dispositivo de internet. Se não permitir estes cookies, terá menos publicidade direcionada.

    Visite as nossas páginas de Políticas de privacidade e Termos e condições.

    Importante: Este site faz uso de cookies que podem conter informações de rastreamento sobre os visitantes.
    Criado por WP RGPD Pro