Solução de problemas

App de exemplo

Se você tiver problemas ao usar as APIs Home, colete registros para mais depuração. Para coletar registros do dispositivo móvel, é necessário ter o Xcode. Se você precisar de ajuda do Google, colete os registros do dispositivo iOS e do hub e abra um tíquete no rastreador de problemas com as informações e os registros relevantes associados a ele.

Coletar registros do iOS

Seu dispositivo móvel precisa estar conectado à máquina local em todas as etapas que envolvem o Xcode.

Os registros de apps e do SDK são exibidos e podem ser coletados diretamente no console do Xcode. Quando o dispositivo móvel está conectado à máquina local e você executa o aplicativo pelo Xcode, o console captura e transmite automaticamente os registros de saída padrão (stdout) e de erro padrão (stderr) da camada de aplicativo e do SDK Home integrado. Isso oferece uma maneira simples de monitorar processos de inicialização em tempo real, interações de API e eventos do SDK durante o desenvolvimento e a depuração.

Como coletar registros de extensão do Xcode

Se você encontrar problemas ao usar as APIs Home, colete registros para depuração adicional.

  1. No Xcode, acesse Debug na barra de menus superior e clique em Attach to Process by PID or Name.

    Depuração do app de exemplo

  2. Em PID ou nome do processo, selecione MatterExtension e clique em Anexar.

    Exemplo de extensão de anexação de app

  3. Se você clicar no canto superior direito, vai aparecer Aguardando anexar ao MatterAddDeviceExtension no iPhone.

    Status de espera do app de exemplo

  4. Clique na guia e selecione MatterAddExtension.

    App de exemplo adicionando a extensão Matter

  5. O console vai registrar o registro da extensão.

Sherlog: rastreamento de eventos entre pilhas

O Sherlog é um serviço de rastreamento em tempo real que oferece uma visão completa das interações entre a infraestrutura do Google e os serviços de nuvem de parceiros.

Pré-requisito: o rastreamento exige o uso de uma conta compartilhada e coordenada pelo Google, por exemplo, uma conta de demonstração ou registrada no GReg.

Objetivo principal: depurar defeitos funcionais e problemas de integração de nuvem para nuvem (C2C, na sigla em inglês), como falhas na vinculação de contas ou estados incorretos de dispositivos, sem exigir mudanças no código de produção.

Capacidades: fornece gráficos de chamadas RPC completas, payloads de solicitação/resposta e metadados para intents SYNC, EXECUTE, QUERY e Account Linking.

Registros do dispositivo hub do Fuchsia

É possível coletar registros dos seguintes hubs do Fuchsia usando este método: * Google Nest Hub (2ª geração) * Google Nest Hub Max

Para ativar um hub para recuperação de registros locais:

  1. Envie um e-mail com o número de série e o modelo dos seus dispositivos para o gerente técnico de contas (TAM) do Google. Eles podem ser encontrados em letras pequenas na parte de baixo do dispositivo.
  2. Depois de estar na lista de permissões, siga estas etapas para ativar o recurso:
    • No hub:
      1. Deslize de cima para baixo na tela.
      2. Toque no ícone Configurações
      3. Encontre a versão do Fuchsia: no Nest Hub (2ª geração), acesse Informações do dispositivo > Informações técnicas > Versão do Fuchsia
      4. Toque em "Versão do Fuchsia" sete vezes. Isso vai ativar as opções do desenvolvedor.
      5. Voltar ao menu de nível superior
      6. Toque em "Opções do desenvolvedor".
      7. Toque em "Registro de parceiros".
    • O recurso vai ficar ativado por 24 horas. Depois disso, reative o recurso de geração de registros a partir da etapa 5.
  3. Consiga o endereço IP do hub:
    • No hub, se ele tiver uma tela:
      1. Deslize de cima para baixo na tela.
      2. Toque no ícone Configurações
      3. Encontre o endereço IP do dispositivo: em um Nest Hub (2ª geração), acesse Informações do dispositivo > Informações técnicas > Endereço IP
    • No app Google Home (GHA) no smartphone:
    • Toque no dispositivo para abrir a página de detalhes.
    • Toque no ícone Configurações para abrir a página de configurações.
    • Encontre o endereço IP do dispositivo: acesse Informações do dispositivo > Informações técnicas > Endereço IP
  4. Para recuperar os registros do hub, faça uma solicitação HTTP GET para o hub em um computador na mesma rede Wi-Fi.
    • Anote a porta e o caminho do endpoint:
      curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file
      
    • A conexão pode ficar aberta por apenas um minuto, mas os dados recuperados do buffer geralmente têm 20 a 30 minutos de eventos passados.
      • O ideal é que os registros sejam extraídos usando esse método imediatamente após a conclusão de um procedimento de teste para garantir que o buffer contenha conteúdo relevante para o teste (semelhante aos relatórios de bugs do Android).

Automações

Detecção de bordas

As automações no ecossistema do Google Home têm detecção de borda, que é uma lógica que verifica se um gatilho só é ativado quando há uma mudança real de estado, e não uma atualização que apenas repete o estado anterior do dispositivo.

Por exemplo, se acender uma luz for um gatilho, a detecção de borda vai verificar se o gatilho só é ativado se o dispositivo de iluminação passar de desligado para ligado, e não de ligado para ligado (sem mudança).

A automação não se comporta como esperado

Depois de considerar a detecção de bordas, se uma automação não se comportar como esperado:

  1. Verifique cada dispositivo para garantir que ele esteja funcionando corretamente, independente da sua automação.

  2. Confira o gráfico de automação para comparar com a DSL e revelar possíveis suposições incorretas da sua parte.

  3. Observe o estado do dispositivo no app Google Home durante a execução da automação.

  4. Verifique se todos os dispositivos referenciados pela automação estão presentes na estrutura em que você espera que eles estejam. Excluir um dispositivo de que uma automação depende pode ter consequências indesejadas. Consulte Impacto da exclusão de dispositivos nas automações.

A automação é executada quando não deveria

Se a automação for executada quando não deveria, examine os critérios de ativação. Talvez seja necessário adicionar mais lógica para garantir que uma mudança de estado seja capturada e acione a automação apenas uma vez.

A automação não é compilada

Verifique se o app contém todas as importações necessárias, incluindo cada classe correspondente aos diferentes tipos de nós, bem como os traços que você está referenciando.

A criação da automação falha na validação

Se a criação da automação não passar na validação, uma mensagem de aviso ou erro vai fornecer informações sobre o problema. Para mais informações, consulte a referência de ValidationIssueType.

OAuth

Se você já tem um cliente OAuth

Se você já tiver um cliente OAuth verificado para um app publicado, use esse cliente para testar as APIs Home.

Não é necessário fazer o registro do Google Home Developer Console para testar e usar as APIs Home. No entanto, você ainda vai precisar de um registro de Developer Console aprovado para publicar seu app, mesmo que tenha um cliente OAuth verificado de outra integração.

As seguintes considerações se aplicam:

  • Há um limite de 100 usuários ao usar um cliente OAuth atual. Para informações sobre como adicionar usuários de teste, consulte Gerar o ID do cliente OAuth. Independente da verificação do OAuth, há um limite imposto pelas APIs Home de 100 usuários que podem conceder permissões ao seu aplicativo. Essa limitação é removida após a conclusão do registro do Developer Console.

  • ODeveloper Console registro deve ser enviado para aprovação quando você estiver pronto para restringir as concessões de tipo de dispositivo pelo OAuth em preparação para atualizar o app com as APIs Home.

Para apps Google Cloud que ainda estão pendentes de verificação do OAuth, os usuários não podem concluir o fluxo do OAuth até que a verificação seja concluída. As tentativas de conceder permissões vão falhar com o seguinte erro:

Access blocked: <Project Name> has not completed the Google verification process.