Controlli di integrità

Google monitora le azioni di cui è stato eseguito il deployment per verificare che siano disponibili e che rispondano alle richieste degli utenti.

L'endpoint di ogni Azione è necessario per rispondere a un valore predefinito, senza chiamata di parametro. Questo supporta lo scenario in cui l'utente chiede di parlare con un'azione senza fornire informazioni aggiuntive (ad esempio, "Voglio parlare con nome di chiamata").

Domande comuni

Devo implementare qualcosa di specifico per supportare i controlli di integrità?

No. I controlli di integrità delle azioni funzioneranno come una richiesta standard per comunicare con un'Azione.

Con quale frequenza viene controllato lo stato di integrità dell'Azione?

L'Azione può essere monitorata nel corso della giornata.

Come faccio a rilevare che una richiesta è un controllo di integrità?

Se usi Actions Builder come piattaforma di sviluppo, riceverai una richiesta di controllo di integrità simile allo snippet riportato di seguito:

{
  "handler": {
    "name": "actions.handler.HEALTH_CHECK"
  },
  "intent": {
    "name": "actions.intent.HEALTH_CHECK"
  },
  "session": {
    "id": "actions.session.HEALTH_CHECK"
  },
  "user": {
    "locale":"en-US"
  },
  "device": {
    "capabilities": []
  }
}
  

Quando ricevi questa richiesta, devi rispondere con un codice di risposta 200. In caso contrario, l'Azione è considerata non integro. Lo snippet seguente è un esempio di risposta formattata correttamente:

  {"prompt":{"override":true,"firstSimple":{"speech":"ok","text":""}}}

Se utilizzi Dialogflow come piattaforma di sviluppo, Google aggiunge un argomento "is_health_check" e lo passa all'intent. Questo argomento si trova nell'oggetto Input della richiesta webhook:

{
  ...
  "originalDetectIntentRequest": {
    ...
    "payload": {
      ...
      "inputs": [{
        ...
        "arguments": [{
          "name": "is_health_check",
          "boolValue": true,
          "textValue": "1"
        }]
      }],
      ...
    }
  }
}
  

Cosa succede se Google rileva un'Azione insalubre? Se Google rileva che l'Azione è in fase di interruzione, questa viene sospesa. Gli utenti che richiedono un'azione in stato non integro sentiranno "ACTION_NAME is not available".

Come verrò informato se un'Azione viene contrassegnata come non integro? Quando Google rileva un'Azione in stato non integro, invia un'email di notifica allo sviluppatore principale associato al progetto Actions.

Cosa succede se l'Azione che utilizza il collegamento dell'account è contrassegnata come non integro? A differenza delle altre Azioni, le Azioni che utilizzano il collegamento dell'account non vengono sospese dopo che Google le ha dichiarate non integri. Gli utenti possono comunque accedere all'Azione per 7 giorni dopo aver ricevuto l'email di notifica. Tuttavia, se non hai risolto il problema di collegamento dell'account dopo 7 giorni, l'Azione verrà rimossa.

Come faccio a controllare lo stato di integrità dell'Azione? Puoi controllare la Developer Console e visualizzare lo stato dell'Azione. Le azioni non integre avranno lo stato Non integro. Le azioni integre verranno contrassegnate come Deployment eseguito.

Qual è il processo per restituire un'azione allo stato di cui è stato eseguito il deployment? Devi esaminare il deployment e risolvere eventuali problemi che potrebbero causare la mancata risposta dell'Azione a un intento di lancio.

Google continuerà a monitorare periodicamente lo stato dell'Azione in condizioni di stato non integro. Quando Google rileva che l'Azione risponde come previsto, l'Azione torna allo stato di deployment.