Como enviar notificações com o Google Assistant Help Center 28 de junho de 2022 15:35 Atualizado Atualmente, a integração com o canal Google Assistant está disponível apenas para usuários do tipo Enterprise. Gere uma chave: 1º Passo: Abra esta URL, substituindo “AQUI” pelo Project ID do seu projeto do Actions: a) https://console.developers.google.com/apis/api/actions.googleapis.com/overview?project=AQUI 2º Passo: Se você vir um botão “Enable”, clique nele. Caso não, prossiga para o passo 3. 3º Passo: Abra esta URL, trocando o "AQUI" do final pelo Project ID do seu projeto do Actions: a) https://console.developers.google.com/apis/credentials?project=AQUI 4º Passo: Clique em Create credentials > Service Account Key: 5º Passo: Na caixa de seleção de Service Account, escolha New Service Account. 6º Passo: Dê um nome para a conta como “notifications" e mude o Role para Project > Owner. 7º Passo: Escolha JSON para o key type e clique em Create. Um arquivo JSON com a service account key será baixado para seu computador. 8º Passo: O arquivo vai ser parecido com este: 9º Passo: Copie e cole o conteúdo do arquivo nas configurações avançadas do bot, da seguinte maneira (colocar isso na última tela de configuração do canal): a) Domínio: postmaster@assistant.gw.msging.net b) Chave: ServiceCredentialJson. c) Valor: conteúdo do arquivo baixado. 10º Passo: Crie outra entrada na tabela de configurações avançadas, com a chave sendo DefaultPushClickMessage (colocar isso na última tela de configuração do canal). O valor será a mensagem enviada por padrão para o bot sempre que um usuário clicar em uma notificação push. Não é possível diferenciar qual push foi clicado nem quando. É necessário configurar duas novas actions no aplicativo do Actions On Google. Basta alterar o arquivo actions.json, criado anteriormente, para ter as duas novas ações seguindo o padrão. a) Uma action para tratar a permissão dada ou negada (PERMISSION) e b) Uma action para tratar o clique do usuário em uma notificação do aplicativo (iris.assistant.intent.PUSH_CLICKED). { "actions": [ { "description": "Default Welcome Intent", "name": "MAIN", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to IRISBot", "I want to talk to IRISBot" ] } } }, { "description": "Permission", "name": "PERMISSION", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "actions.intent.PERMISSION", "trigger": { "queryPatterns": [ "interact with push notification" ] } } }, { "description": "Push Interaction Intent", "name": "PUSH_CLICKED", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "iris.assistant.intent.PUSH_CLICKED", "trigger": { "queryPatterns": [ "interact with push notification" ] } } } ], "conversations": { "IRISBot": { "name": "IRISBot", "url": "https://assistant.gw.msging.net/irisbot-624c5" } }, "locale": "en" } E enviá-lo novamente para o Actions on Google, usando o comando do gactions. Com isso, duas novas actions vão aparecer no painel, em Build > Actions: Entre na nova ação de push interaction e vá para a seção “User engagement”, onde você deve selecionar a opção de querer enviar notificações push. Preencha o “Content title” com o nome de sua preferência (a notificação será exibida usando este nome, que também será usado para pedir permissão de enviar notificações, ex.: “Você gostaria de receber notificações de Nome do seu bot?”). Salve no alto da página, à direita. Entretanto, antes de poder enviar notificações, é necessário pedir a permissão da pessoa e salvar seu id e qual intent será usado para receber as notificações (será o intent PUSH_CLICKED criado aqui em cima), caso a pessoa permita as notificações. Primeiro, pergunte se a pessoa deseja as notificações e, caso ela marque sim, o gateway deve devolver uma response com possible intent da seguinte forma: { "expectedInputs": [ { "inputPrompt": { "richInitialPrompt": { "items": [ { "simpleResponse": { "textToSpeech": "PLACEHOLDER" } } ] } }, "possibleIntents": [ { "intent": "actions.intent.PERMISSION", "inputValueData": { "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec", "permissions": [ "UPDATE" ], "updatePermissionValueSpec": { "intent": "iris.assistant.intent.PUSH_CLICKED" } } } ] } ], } Para isso será recebida a resposta da pessoa, concedendo ou não a permissão. Devolver alguma mensagem pra pessoa falando que salvou a permissão. Para enviar notificações, deve ser enviada uma custom push message para o Assistant, marcando o usuário desejado no target e mandando o título da notificação: { "customPushMessage": { "userNotification": { "title": "este é um título" }, "target": { "userId": "ABwppHEdPIEOjDg9SSFaUeaV9Uc8JoFDs1Kchrj4RgIS8fauKNfpr3K5ag", "intent": "iris.assistant.intent.PUSH_CLICKED", "locale": "en-US" } } } A notificação vai aparecer da seguinte forma, sendo: a) “este é um título”: título enviado. b) “IRISBot”: Nome setado para a ação, na hora de configurar o user engagement. c) “Mari Ana”: Nome usado para invocar o bot no Assistant Imagem: Imagem do aplicativo escolhida no painel do Actions. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃 Artigos relacionados Como publicar seu bot no Google Assistant Criando mensagens interativas no WhatsApp FAQ - Análise Configuração do arquivo de audiência - Envio de notificações em massa Como enviar notificações através de respostas prontas do Blip Desk
Atualmente, a integração com o canal Google Assistant está disponível apenas para usuários do tipo Enterprise. Gere uma chave: 1º Passo: Abra esta URL, substituindo “AQUI” pelo Project ID do seu projeto do Actions: a) https://console.developers.google.com/apis/api/actions.googleapis.com/overview?project=AQUI 2º Passo: Se você vir um botão “Enable”, clique nele. Caso não, prossiga para o passo 3. 3º Passo: Abra esta URL, trocando o "AQUI" do final pelo Project ID do seu projeto do Actions: a) https://console.developers.google.com/apis/credentials?project=AQUI 4º Passo: Clique em Create credentials > Service Account Key: 5º Passo: Na caixa de seleção de Service Account, escolha New Service Account. 6º Passo: Dê um nome para a conta como “notifications" e mude o Role para Project > Owner. 7º Passo: Escolha JSON para o key type e clique em Create. Um arquivo JSON com a service account key será baixado para seu computador. 8º Passo: O arquivo vai ser parecido com este: 9º Passo: Copie e cole o conteúdo do arquivo nas configurações avançadas do bot, da seguinte maneira (colocar isso na última tela de configuração do canal): a) Domínio: postmaster@assistant.gw.msging.net b) Chave: ServiceCredentialJson. c) Valor: conteúdo do arquivo baixado. 10º Passo: Crie outra entrada na tabela de configurações avançadas, com a chave sendo DefaultPushClickMessage (colocar isso na última tela de configuração do canal). O valor será a mensagem enviada por padrão para o bot sempre que um usuário clicar em uma notificação push. Não é possível diferenciar qual push foi clicado nem quando. É necessário configurar duas novas actions no aplicativo do Actions On Google. Basta alterar o arquivo actions.json, criado anteriormente, para ter as duas novas ações seguindo o padrão. a) Uma action para tratar a permissão dada ou negada (PERMISSION) e b) Uma action para tratar o clique do usuário em uma notificação do aplicativo (iris.assistant.intent.PUSH_CLICKED). { "actions": [ { "description": "Default Welcome Intent", "name": "MAIN", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "actions.intent.MAIN", "trigger": { "queryPatterns": [ "talk to IRISBot", "I want to talk to IRISBot" ] } } }, { "description": "Permission", "name": "PERMISSION", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "actions.intent.PERMISSION", "trigger": { "queryPatterns": [ "interact with push notification" ] } } }, { "description": "Push Interaction Intent", "name": "PUSH_CLICKED", "fulfillment": { "conversationName": "IRISBot" }, "intent": { "name": "iris.assistant.intent.PUSH_CLICKED", "trigger": { "queryPatterns": [ "interact with push notification" ] } } } ], "conversations": { "IRISBot": { "name": "IRISBot", "url": "https://assistant.gw.msging.net/irisbot-624c5" } }, "locale": "en" } E enviá-lo novamente para o Actions on Google, usando o comando do gactions. Com isso, duas novas actions vão aparecer no painel, em Build > Actions: Entre na nova ação de push interaction e vá para a seção “User engagement”, onde você deve selecionar a opção de querer enviar notificações push. Preencha o “Content title” com o nome de sua preferência (a notificação será exibida usando este nome, que também será usado para pedir permissão de enviar notificações, ex.: “Você gostaria de receber notificações de Nome do seu bot?”). Salve no alto da página, à direita. Entretanto, antes de poder enviar notificações, é necessário pedir a permissão da pessoa e salvar seu id e qual intent será usado para receber as notificações (será o intent PUSH_CLICKED criado aqui em cima), caso a pessoa permita as notificações. Primeiro, pergunte se a pessoa deseja as notificações e, caso ela marque sim, o gateway deve devolver uma response com possible intent da seguinte forma: { "expectedInputs": [ { "inputPrompt": { "richInitialPrompt": { "items": [ { "simpleResponse": { "textToSpeech": "PLACEHOLDER" } } ] } }, "possibleIntents": [ { "intent": "actions.intent.PERMISSION", "inputValueData": { "@type": "type.googleapis.com/google.actions.v2.PermissionValueSpec", "permissions": [ "UPDATE" ], "updatePermissionValueSpec": { "intent": "iris.assistant.intent.PUSH_CLICKED" } } } ] } ], } Para isso será recebida a resposta da pessoa, concedendo ou não a permissão. Devolver alguma mensagem pra pessoa falando que salvou a permissão. Para enviar notificações, deve ser enviada uma custom push message para o Assistant, marcando o usuário desejado no target e mandando o título da notificação: { "customPushMessage": { "userNotification": { "title": "este é um título" }, "target": { "userId": "ABwppHEdPIEOjDg9SSFaUeaV9Uc8JoFDs1Kchrj4RgIS8fauKNfpr3K5ag", "intent": "iris.assistant.intent.PUSH_CLICKED", "locale": "en-US" } } } A notificação vai aparecer da seguinte forma, sendo: a) “este é um título”: título enviado. b) “IRISBot”: Nome setado para a ação, na hora de configurar o user engagement. c) “Mari Ana”: Nome usado para invocar o bot no Assistant Imagem: Imagem do aplicativo escolhida no painel do Actions. Para mais informações, acesse a discussão sobre o assunto em nossa comunidade ou os vídeos no nosso canal. 😃