Esta é a Central do desenvolvedor do Google Home, o novo destino para aprender a desenvolver ações de casa inteligente. Observação:você continuará criando ações no Console do Actions.

Atividade

Intents de casa inteligente são objetos de mensagens simples que descrevem qual ação do smart home executar, como acender uma luz ou transmitir áudio para um alto-falante.

Todas as intents smart home estão no namespace action.devices, e você precisa fornecer fulfillment para elas. Sempre que Google Assistant envia uma intent para fulfillment, o token de acesso de OAuth 2 de um usuário é transmitido no cabeçalho de autorização.

Estas são as intents smart home compatíveis:

SINCRONIZAR

A intent action.devices.SYNC é usada para solicitar a lista de dispositivos smart home que o usuário conectou e está disponível.

Quando um usuário configura os dispositivos com o Google Home app (GHA), ele também é autenticado na infraestrutura em nuvem. Em seguida, Assistant recebe um token OAuth2. Neste ponto, Assistant envia uma intent action.devices.SYNC para o fulfillment para recuperar a lista inicial de dispositivos e recursos do usuário da infraestrutura em nuvem.

Esta figura mostra a interação entre a infraestrutura do Google e a infraestrutura do parceiro. Da infraestrutura do Google, há uma lista de parceiros disponíveis para o app cliente do Assistente que, em seguida, flui para a infraestrutura do parceiro para concluir a autenticação OAuth. A autenticação OAuth no lado do parceiro é o WebView de configuração do parceiro, o WebView do OAuth, os termos e configurações opcionais e os serviços de nuvem do parceiro. Em seguida, a infraestrutura do parceiro retorna as credenciais do OAuth para o app cliente do Assistente. Os serviços de nuvem do parceiro enviam dispositivos e recursos disponíveis para os serviços do Assistente, que armazenam as informações no Home Graph.
Figura 1: interação entre a infraestrutura do Google e do parceiro

Para evitar a desvinculação e vincular novamente a conta de um usuário, envie uma solicitação de sincronização para Assistant. Isso envia a intent action.devices.SYNC ao fulfillment para sincronizar a lista de dispositivos e recursos. Consulte Implementar a sincronização de solicitações para mais informações.

Diagrama de fluxo de uma intent de sincronização
Figura 2: intent de sincronização

Durante a configuração do fulfillment local, a plataforma Home local verifica a resposta SYNC do fulfillment na nuvem da sua ação smart home. Para saber mais sobre como modificar a resposta SYNC para oferecer suporte ao fulfillment local, consulte Atualizar a resposta do SYNC no fulfillment da nuvem.

CONSULTA

A intent action.devices.QUERY é usada para consultar o estado atual de dispositivos smart home.

Quando os usuários estiverem consultando o status do dispositivo, para responder a uma pergunta como Ok Google, quais luzes estão acesas na cozinha?, Assistant envia uma intent action.devices.QUERY para o fulfillment.

Diagrama de fluxo de uma intent QUERY
Figura 3: intent QUERY

Para uma melhor experiência do usuário, implemente o Estado do relatório para relatar de forma proativa o estado atual dos dispositivos de um usuário diretamente para Google Home Graph. Por exemplo, isso permite que Assistant saiba se o usuário ligou um dispositivo de iluminação inteligente com um interruptor físico.

Como informar o estado do dispositivo usando o estado do relatório
Figura 4: informar o estado do dispositivo

EXECUTE

A intent action.devices.EXECUTE é usada para fornecer comandos a serem executados em dispositivos smart home.

Quando os usuários enviam comandos para dispositivos com Assistant, o fulfillment recebe uma intent action.devices.EXECUTE para o fulfillment que descreve a ação e os dispositivos para agir. O usuário pode executar uma ação em um dispositivo com um comando como Ok Google, acender as luzes da sala de estar.

Diagrama de fluxo de uma intent EXECUTE
Figura 5: intent EXECUTE

DESCONECTAR

A intent action.devices.DISCONNECT é acionada para informar quando um usuário desvincula a conta do app de Assistant. Depois de receber uma intent action.devices.DISCONNECT, não informe o estado dos dispositivos desse usuário.