Depois de criar o fulfillment do webhook, implante-o em produção e conecte à ação. As etapas a seguir mostram como configurar o ambiente para implantar no Cloud Functions para Firebase de hospedagem de produção. No entanto, é possível escolher qualquer plataforma de hospedagem na Web compatível com solicitações e respostas HTTPS para hospedar o fulfillment.
Se você já tiver implantado o webhook em uma plataforma de hospedagem na Web, pule para Conectar o webhook à ação. As etapas finais do processo abaixo variam de acordo com o uso do Dialogflow ou do SDK do Actions.
Implantar no Cloud Functions para Firebase
- Faça o download e instale o Node.js.
Configure e inicialize a CLI do Firebase. Se o comando a seguir falhar com um erro
EACCES
, talvez seja necessário alterar as permissões do NPM.npm install -g firebase-tools
Autentique a ferramenta do Firebase com sua Conta do Google:
firebase login
Navegue até o diretório do projeto da Ação e inicialize o Firebase. Você vai precisar selecionar quais recursos da CLI do Firebase quer configurar no projeto do Actions. Escolha
Functions
e outros recursos que você talvez queira usar, como o Firestore. Em seguida, pressione Enter para confirmar e continuar:cd <cloud_function_dir> firebase init
Associe a ferramenta do Firebase ao seu projeto do Actions selecionando-a usando as teclas de seta para navegar pela lista de projetos:
Depois de escolher o projeto, a ferramenta do Firebase inicia a configuração do Functions perguntando qual idioma você quer usar. Selecione usando as teclas de seta e pressione Enter para continuar.
=== Functions Setup
A functions directory will be created in your project with a Node.js package pre-configured. Functions can be deployed with firebase deploy. ? What language would you like to use to write Cloud Functions? (Use arrow keys) > JavaScript TypeScriptEscolha se você quer usar o ESLint para detectar prováveis bugs e aplicar a digitação de estilo
Y
ouN
:? Do you want to use ESLint to catch probable bugs and enforce style? (Y/n)
Para acessar as dependências do projeto, digite
Y
no prompt:? Do you want to install dependencies with npm now? (Y/n)
Quando a configuração for concluída, você verá uma resposta parecida com a seguinte:
✔ Firebase initialization complete!
Instale a dependência actions-on-google:
cd <cloud_function_dir>/functions npm install actions-on-google
Consiga as dependências de fulfillment e implante a função de fulfillment:
npm install firebase deploy --only functions
A implantação leva alguns minutos. Depois de concluído, você verá uma saída semelhante à seguinte. Você precisará do URL da função para entrar no Dialogflow.
✔ Deploy complete!
Project Console: https://console.firebase.google.com/project/exampleproject-123/overview Function URL (cloudFunctionName): https://us-central1-exampleproject-123.cloudfunctions.net/cloudFunctionName
Conectar o webhook à ação
Se você estiver usando o Dialogflow: no console do Dialogflow, acesse Fulfillment, alterne o botão Webhook para ATIVADO e substitua o URL no campo URL pelo URL da função.
Se você estiver usando o SDK do Actions:crie um objeto
dentro do objeto conversations
para declarar o fulfillment no pacote
de ações:
{ "actions": [ { "description": "Default Welcome Intent", "name": "MAIN", "fulfillment": { "conversationName": "myFulfillmentFunction" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to myFulfillmentFunction" ] } } } ], "conversations": { "myFulfillmentFunction": { "name": "myFulfillmentFunction", "url": "https://us-central1-myprojectname-ab123.cloudfunctions.net/cloudFunctionName" } }, "locale": "en" }