App di esempio
Se riscontri problemi durante l'utilizzo delle API Home, puoi raccogliere i log per eseguire un debug più approfondito. La raccolta dei log dal dispositivo mobile richiede Xcode. Se hai bisogno dell'assistenza di Google, raccogli i log sia dal dispositivo iOS sia dall'hub e apri un ticket nel tracker dei problemi con le informazioni e i log pertinenti associati.
Raccogliere i log di iOS
Il dispositivo mobile deve essere collegato alla macchina locale per tutti i passaggi che coinvolgono Xcode.
I log delle app e dell'SDK vengono visualizzati e possono essere raccolti direttamente nella console Xcode. Quando il dispositivo mobile è collegato alla macchina locale ed esegui l'applicazione tramite Xcode, la console acquisisce e trasmette automaticamente i log di output standard (stdout) e di errore standard (stderr) sia dal livello dell'applicazione sia dall'SDK Home integrato. In questo modo, durante lo sviluppo e il debug, puoi monitorare facilmente i processi di inizializzazione in tempo reale, le interazioni con le API e gli eventi dell'SDK.
Raccogliere i log delle estensioni da Xcode
Se riscontri problemi durante l'utilizzo delle API Home, puoi raccogliere i log per eseguire un debug più approfondito.
In Xcode, vai a Debug nella barra dei menu in alto e fai clic su Attach to Process by PID or Name (Collega al processo per PID o nome).

In PID or Process Name (PID o nome del processo), seleziona MatterExtension e fai clic su Attach (Collega).

Se fai clic in alto a destra, vedrai il messaggio Waiting to attach to MatterAddDeviceExtension on iPhone (In attesa di collegamento a MatterAddDeviceExtension su iPhone).

Fai clic sulla scheda e seleziona MatterAddExtension.

La console registrerà il log dell'estensione.
Sherlog: tracciamento degli eventi cross-stack
Sherlog è un servizio di tracciamento in tempo reale che fornisce una visualizzazione end-to-end delle interazioni tra l'infrastruttura di Google e i servizi cloud dei partner.
Prerequisito: il tracciamento richiede l'utilizzo di un account condiviso e coordinato da Google (ad es. un account registrato in GReg o un account demo).
Scopo principale: eseguire il debug dei difetti funzionali e dei problemi di integrazione cloud-to-cloud (C2C) (ad es. errori di collegamento dell'account o stati del dispositivo errati) senza richiedere modifiche al codice di produzione.
Funzionalità: fornisce grafici completi delle chiamate RPC, payload di richiesta/risposta e metadati per gli intenti SYNC, EXECUTE, QUERY e di collegamento dell'account.
Log dei dispositivi hub Fuchsia
Puoi raccogliere i log dai seguenti hub Fuchsia utilizzando questo metodo: * Google Nest Hub (2ª gen.) * Google Nest Hub Max
Per attivare un hub per il recupero dei log locali:
- Invia un'email al tuo Technical Account Manager (TAM) di Google con il numero di serie e il modello dei tuoi dispositivi. Questi dati sono riportati in caratteri piccoli sotto il dispositivo.
- Una volta inseriti nella lista consentita, devi attivare la funzionalità seguendo questi passaggi:
- Dall'hub:
- Scorri verso il basso dalla parte superiore dello schermo.
- Tocca l'icona Impostazioni
- Trova la versione di Fuchsia: su Nest Hub (2ª gen.), vai a Informazioni sul dispositivo > Informazioni tecniche > Versione di Fuchsia.
- Tocca "Versione di Fuchsia" 7 volte. Verranno attivate le opzioni sviluppatore.
- Torna al menu di primo livello.
- Tocca "Opzioni sviluppatore".
- Tocca "Registrazione partner".
- La funzionalità verrà attivata per 24 ore. Dopodiché, riattiva la funzionalità di registrazione a partire dal passaggio 5.
- Dall'hub:
- Recupera l'indirizzo IP dell'hub:
- Dall'hub, se ha uno schermo:
- Scorri verso il basso dalla parte superiore dello schermo.
- Tocca l'icona Impostazioni
- Trova l'indirizzo IP del dispositivo: su Nest Hub (2ª gen.), vai a Informazioni sul dispositivo > Informazioni tecniche > Indirizzo IP.
- Dall'app Google Home sullo smartphone:
- Tocca il dispositivo per visualizzare la pagina dei dettagli.
- Tocca l'icona Impostazioni per visualizzare la pagina delle impostazioni.
- Trova l'indirizzo IP del dispositivo: vai a Informazioni sul dispositivo > Informazioni tecniche > Indirizzo IP.
- Dall'hub, se ha uno schermo:
- Per recuperare i log dall'hub, devi inviare una richiesta HTTP GET all'hub da un computer connesso alla stessa rete Wi-Fi.
- Prendi nota della porta e del percorso dell'endpoint:
curl -k -X GET https://ip-address:8443/setup/get_logs --output output-file - La connessione può essere mantenuta aperta per un solo minuto, ma i dati recuperati dal buffer in genere contengono eventi passati di 20-30 minuti.
- Idealmente, i log vengono estratti utilizzando questo metodo immediatamente dopo aver completato una procedura di test per assicurarsi che il buffer contenga contenuti pertinenti al test (simili ai report sui bug di Android).
- Prendi nota della porta e del percorso dell'endpoint:
Automazioni
Rilevamento di limiti
Le automazioni nell'ecosistema Google Home includono il rilevamento di limiti, ovvero una logica che verifica che un comando iniziale si attivi solo quando si verifica una modifica effettiva dello stato, anziché un aggiornamento dello stato che ripete semplicemente lo stato precedente del dispositivo.
Ad esempio, se l'accensione di una luce è un comando iniziale, il rilevamento di limiti verifica che il comando iniziale si attivi solo se il dispositivo di illuminazione passa da spento ad acceso, anziché da acceso ad acceso (nessuna modifica).
L'automazione non si comporta come previsto
Dopo aver tenuto conto del rilevamento di limiti, se un'automazione non si comporta come previsto:
Controlla ogni dispositivo per assicurarti che funzioni correttamente indipendentemente dall'automazione.
Dai un'occhiata al grafico dell'automazione, confrontandolo con la DSL dell'automazione, per individuare eventuali ipotesi potenzialmente errate da parte tua.
Osserva lo stato del dispositivo nell'app Google Home durante l'esecuzione dell'automazione.
Verifica che tutti i dispositivi a cui fa riferimento l'automazione siano presenti nella struttura in cui ti aspetti che si trovino. L'eliminazione di un dispositivo da cui dipende un'automazione può avere conseguenze indesiderate. Consulta Impatto dell'eliminazione dei dispositivi sulle automazioni.
L'automazione viene eseguita quando non dovrebbe
Se l'automazione viene eseguita quando non dovrebbe, esamina i criteri del comando iniziale. Potrebbe essere necessario aggiungere una logica aggiuntiva per assicurarsi che una modifica dello stato venga acquisita una sola volta e che l'automazione venga attivata una sola volta.
L'automazione non viene compilata
Assicurati che l'app contenga tutti gli import necessari, inclusa ogni classe corrispondente ai diversi tipi di nodi e ai tratti a cui fai riferimento.
La creazione dell'automazione non supera la convalida
Se la creazione dell'automazione non supera la convalida, un messaggio di avviso o di errore fornisce informazioni sul problema. Per saperne di più, consulta il
ValidationIssueType riferimento.
OAuth
Se hai un client OAuth esistente
Se hai già un client OAuth verificato per un'app pubblicata, puoi utilizzare il client OAuth esistente per testare le API Home.
La registrazione Google Home Developer Console non è obbligatoria per testare e utilizzare le API Home. Tuttavia, dovrai comunque avere una registrazione approvata Developer Console per pubblicare la tua app, anche se hai un client OAuth verificato da un'altra integrazione.
Si applicano le seguenti considerazioni:
Quando utilizzi un client OAuth esistente, esiste un limite di 100 utenti. Per informazioni sull'aggiunta di utenti di test, consulta Generare l'ID client OAuth. Indipendentemente dalla verifica OAuth, le API Home impongono un limite di 100 utenti che possono concedere autorizzazioni alla tua applicazione. Questa limitazione viene rimossa al termine della registrazione Developer Console.
Developer Console registrazione deve essere inviata per l'approvazione quando sei pronto a limitare le concessioni di tipi di dispositivi tramite OAuth in preparazione all'aggiornamento dell'app con le API Home.
Per le app Google Cloud per cui la verifica OAuth è ancora in attesa, gli utenti non possono completare il flusso OAuth finché la verifica non è stata completata. I tentativi di concedere autorizzazioni non andranno a buon fine e verrà visualizzato il seguente errore:
Access blocked: <Project Name> has not completed the Google verification process.