Integrierte Intents (Dialogflow)

Ein integrierter Intent ist eine eindeutige Kennung, die Sie angeben können, um dem Google Assistant, dass deine Aktion einer bestimmten Nutzerkategorie zugeordnet werden kann -Anfragen. Hier sind einige Beispiele für Nutzeranfragen, der Assistant integrierte Intents zuordnet:

  • „Spiel spielen“ integrierter Intent: "Ok Google. Spiel ein Gedächtnisspiel.“
  • „Horoskop abrufen“ integrierter Intent: "Ok Google. Horoskop abrufen“

Während der Aktionserkennung kann Assistant Folgendes verwenden: zu deiner Aktion, einschließlich der von dir angegebenen integrierten Intents. um Nutzern deine Aktion zu empfehlen. Um den Umfang des Gesprächs zu minimieren, versucht Assistant außerdem, Parameter aus den Nutzerabfragen zu scannen. und sie an deine Aktion weitergeben.

Die vollständige Liste der von Assistant unterstützten integrierten Intents findest du: einschließlich der Parameter und beispielhaften Nutzerabfragen, Referenz zu integrierten Intents

Integrierte Intents einbinden

Je nachdem, wie Sie Ihre Aktion erstellen, integrierte Intents integrieren.

Dialogflow

Wenn Sie Ihre Aktion mit Dialogflow erstellen, können Sie einen integrierten Intent anhängen. Dialogflow-Konsole.

So hängen Sie einen integrierten Intent mit Dialogflow an:

  1. Öffnen Sie die Dialogflow-Konsole, wählen Sie Ihren Agent aus und gehen Sie dann zur Bildschirm Intents.
  2. Erstellen oder wählen Sie den Intent aus, den Ihr Agent auslöst, wenn er einen integrierten Intent. Öffnen Sie den Abschnitt Ereignisse und klicken Sie auf Hinzufügen. Ereignis.

    Abbildung 1. Dialogflow-Ereignis in der Dialogflow-Konsole hinzufügen
  3. Geben Sie im Feld Events (Ereignisse) den Namen eines integrierten Intent-Ereignisses für Ihr Agent (z. B. actions_intent_PLAY_GAME).

    Abbildung 2. Integrierten Intent in der Dialogflow-Konsole an den Agent anhängen.
  4. Klicken Sie auf Speichern.

Actions SDK

Wenn du zum Erstellen deiner Aktion das Actions SDK verwendest, musst du die Zuordnung zwischen integrierten Intents und den Aktionen in Ihrem Aktionspaket.

So hängen Sie einen integrierten Intent mit dem Actions SDK an:

  1. Geben Sie den integrierten Intent im Feld „Name“ in der Definition für Action (Aktion) an.
  2. Lade dein Aktionspaket mit dem gactions-Tool in dein Actions-Projekt hoch: Übersicht über das Actions SDK beschrieben.

Das folgende Snippet zeigt beispielsweise, wie Sie das CHECK_AIR_QUALITY integrierten Intent:

{
   "actions":[
      {
         "description":"Default Welcome Intent",
         "name":"MAIN",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.MAIN"
         }
      },
      {
         "description":"Check Air Quality",
         "name":"CHECK_AIR_QUALITY",
         "fulfillment":{
            "conversationName":"conversation_1"
         },
         "intent":{
            "name":"actions.intent.CHECK_AIR_QUALITY"
         }
      }
   ],
   "conversations":{
      "conversation_1":{
         "name":"conversation_1",
         "url":"https://example.com/fulfillment",
         "fulfillmentApiVersion":2
      }
   }
}

Integrierte Intent-Parameter verarbeiten

Wenn Ihre Aktion über einen integrierten Intent aufgerufen wird, kann die Auftragsausführung zusätzliche Parameter erhalten. Das Intent-Schema definiert die Namen der Parameter und ihre Typen als primitive Typen oder schema.org Entitäten. Informationen zum Schema der integrierten Intents von Konversationsaktionen finden Sie in der Referenz zu integrierten Intents

Parameter für integrierte Intents sind optional. Assistant füllt die -Parameter mit Werten, wenn diese aus dem Aufruf von den integrierten Intent.

Zum Beispiel das Schema des integrierten actions.intent.CHECK_AIR_QUALITY Intent definiert vier optionale Parameter:

Parametername Typ
attributes Ein Stringwert.
location Ein schema.org/Place-Objekt.
temporalCoverage Ein schema.org/Duration-Objekt.
timeIndicator Eine EnumeratedDuration (Google-spezifische Erweiterung).

Das folgende Code-Snippet zeigt ein Beispiel für den Unterhaltungs-Webhook (JSON) wenn ein Nutzer deine Aktion aufruft, indem er sagt: „Wie ist die Luftqualität in in San Francisco?“:

"inputs":[
      {
         "intent":"actions.intent.CHECK_AIR_QUALITY",
         "rawInputs":[
            {
               "inputType":"VOICE",
               "query":"what is the air quality in san francisco tomorrow"
            }
         ],
         "arguments":[
            {
               "name":"location",
               "structuredValue":{
                  "geo":{
                     "longitude":-122.41941550000001,
                     "latitude":37.7749295
                  },
                  "@context":"https://schema.org",
                  "@type":"Place",
                  "name":"san francisco"
               }
            },
            {
               "name":"temporalCoverage",
               "rawText":"2018-04-25",
               "textValue":"2018-04-25"
            }
         ]
      }
   ]

In diesem Beispiel haben die Parameter die folgenden Werte:

  • Der Parameter location enthält den Parameter schema.org/Place. für „San Francisco“.
  • Der Parameter temporalCoverage enthält den Parameter schema.org/Duration. Wert für das morgige Datum relativ zur Zeit des Aufrufs.
  • Für die Parameter attributes und timeIndicator sind keine Werte vorhanden da die Aufrufphrase des Nutzers solche Informationen nicht enthielt.

Wenn Sie die Actions on Google-Clientbibliothek für Node.js verwenden, können Sie den Wert der Parameter wie im folgenden Snippet gezeigt abrufen:

app.intent('actions.intent.CHECK_AIR_QUALITY', (conv) => {
  const attributes = conv.arguments.get('attributes');
  const location = conv.arguments.get('location');
  const temporal_coverage = conv.arguments.get('temporalCoverage');
  Const time_indicator = conv.arguments.get('timeIndicator')

  // Your Action logic. If you need to use any of the parameter values,
  // you should check first that it is defined. Arguments.get returns
  // undefined if it can't find a value for a parameter.

});

Integrationen mit integrierten Intents testen

So testest du deine Integration:

  1. Öffnen Sie den Actions-Simulator mit aktivierter Testaktion oder öffnen Sie Google Assistant auf Ihrem Gerät.
  2. Sprechen oder geben Sie eine Abfrage ein, die mit diesem integrierten Intent verknüpft ist. Beispiel: „Ich möchte ein Spiel spielen.“
  3. Suche im angezeigten Dialogfeld zur App-Auswahl nach deiner Aktion.
  4. Wählen Sie Ihre App aus, um einen Intent an Ihre App zu senden.
Abbildung 3. Das Dialogfeld zur Aktionsauswahl, das sich
aus einer integrierten Intent-Wortgruppe ergibt.
Abbildung 4. Aktion aufrufen, die mit einem integrierten Intent verknüpft ist

Best Practices für die Verwendung integrierter Intents

Bei der Verwendung von integrierten Intents sollten Sie die folgenden Best Practices befolgen:

  • Integrierte Intents bestimmten Aktionen zuordnen: Wenn ein bestimmter integrierter Intent Ihre Aktion auslöst, leiten Sie den Nutzer zum bestimmten Intent weiter und Funktionalität in Ihrer Aktion so einfach wie möglich gestalten. Für Wenn deine Aktion den integrierten Intent PLAY_GAME unterstützt und diesen Intent erhält, sollten Sie den Nutzer sofort zur Spielfunktion deiner Aktion. Fragen Sie den Nutzer nicht noch einmal, ob er ein Spiel spielen möchte.
  • Integrierte Intent-Parameter verarbeiten: Achten Sie darauf, den integrierten Intent zu verwenden. Parameterwerte, die Assistant an die Auftragsausführung sendet. Vermeiden Sie es, den Nutzer noch einmal zur Eingabe dieser Werte aufzufordern.