Vorschläge

Aufforderungen definieren, wie deine Aktion Antworten an Nutzer rendert und wie sie sie zum Fortfahren auffordert. Während du deine Aktion erstellst, kannst du Prompts zu Aufrufen und an verschiedenen Stellen in Szenen hinzufügen. Aufforderungen können so einfach wie eine Text- oder Sprachantwort sein oder komplexer sein und komplexe Inhalte wie Karten, Bilder und Tabellen enthalten.

Antworttypen

Für jede Aufforderung wählen Sie aus einer Vielzahl ansprechender Antworttypen aus, die Assistant den Nutzern präsentieren soll:

  • Einfache Antworten: Einfache Antworten werden visuell in Form eines Sprechblasens angezeigt. Für den Ton wird Text-to-Speech (TTS) oder Speech Synthesis Markup Language (SSML) verwendet. Einfache Antworten sind die einzigen Antworten, die von allen Gerätetypen unterstützt werden.
  • Aussagekräftige Antworten: Umfangreiche Antworten enthalten visuelle oder funktionale Elemente, die Nutzerinteraktionen mit Ihren Aktionen verbessern. Mit umfangreichen Antworten können Sie auch tabellarische Daten anzeigen oder längere Audioinhalte abspielen.
  • Visuelle Auswahlantworten: Visuelle Auswahlantworten bieten Nutzern eine visuelle Schnittstelle, über die sie zwischen mehreren Optionen wählen können, die sich am einfachsten anhand des Titels oder eines Bildes unterscheiden.
  • Medienantworten: Mit Medienantworten können mit Ihren Aktionen längere Audioinhalte als mit SSML wiedergegeben werden. Außerdem bieten sie eine visuelle Komponente mit Mediensteuerelementen.
  • Interaktiver Canvas: Der interaktive Canvas rendert Antworten als Vollbild-Webansichten und fungiert als interaktive Webanwendung, die Assistant als Antwort an den Nutzer in einer Unterhaltung sendet. Canvas verwendet ein etwas anderes Aufforderungsformat, um zusätzliche Flexibilität gegenüber Webstandards wie HTML, CSS und JavaScript zu bieten.

Jeder dieser Antworttypen verwendet das gleiche grundlegende Aufforderungsformat und hat Zugriff auf die unten beschriebenen allgemeinen Funktionen.

Format eines Prompts

In Ihrem Actions-Projekt definieren Sie Prompts im YAML- oder JSON-Format. Jede Eingabeaufforderung kann bis zu zwei einfache Antworten enthalten und optional eine umfassende Antwort definieren. Antworten werden so definiert:

  • first_simple: Erste Text- oder Sprachantwort (einfach), die an den Nutzer gesendet wird.
  • content: Zusätzliche Rich-Media-Antworten, die nach einfachen Antworten gesendet werden.
  • last_simple Endgültige Text- oder Sprachantwort (einfache Antwort), die an den Nutzer gesendet wird.
  • canvas: verweist auf eine Webanwendung, die sich in Interactive Canvas einbinden lässt.

Standardmäßig werden Aufforderungen in der obigen Reihenfolge in einer Aufforderungswarteschlange aneinander angehängt. Bevor der Nutzer antworten kann, zeigt Assistant dem Nutzer alle Aufforderungen in der Aufforderungswarteschlange an.

Zusätzlich können Sie die Aufforderung mithilfe der folgenden Funktionen flexibel gestalten:

  • Kandidaten: Mit Kandidaten können Sie Antworten basierend auf den Gerätefunktionen eines Nutzers definieren. Du kannst beispielsweise festlegen, dass Assistant nur dann Rich-Antworten anzeigt, wenn ein Nutzer auf einem anzeigefähigen Gerät mit deiner Aktion interagiert.
  • Varianten: Varianten sind alternative Varianten einer einzelnen Mitteilung. Beispielsweise kann Assistant bei jedem Aufruf deiner Aktion zwischen fünf verschiedenen Varianten einer Willkommensnachricht wählen.
  • Vorschläge: Wenn Assistant die Aufforderung anzeigt, werden Nutzern auf Geräten mit Display-Unterstützung Vorschlags-Chips vorgeschlagen.

Eine Standardaufforderung verwendet einen Kandidaten, eine Variante und eine first_simple-Antwort.

Kandidaten

Mit dem Objekt candidates können Sie in einer Aufforderung Antworten definieren, die auf den Gerätefunktionen eines Nutzers basieren. Du kannst beispielsweise festlegen, dass Assistant nur dann Rich-Antworten anzeigt, wenn ein Nutzer auf einem anzeigefähigen Gerät mit deiner Aktion interagiert. Mit dem Attribut selector des candidates-Objekts kannst du die Gerätetypen definieren, auf denen Assistant einen Kandidaten zurückgeben kann.

Im folgenden Beispiel enthält das Attribut selector die Informationen zu den Gerätefunktionen. Im ersten Kandidaten festgelegte Aufforderungen werden an Nutzer auf einem Gerät gesendet, das Rich-Antworten rendern kann. Der zweite Vorschlag enthält Aufforderungen für Nutzer, die nur Text- und Sprachantworten erhalten können.

YAML

candidates:
  - selector:
      surface_capabilities:
        capabilities:
          - RICH_RESPONSE
    first_simple:
      variants:
        - speech: Here's a simple message.
    content:
      card:
        title: Image card title
        text: Some details about the image
        image:
          url: 'https://www.example.com/image/'
  - first_simple:
      variants:
        - speech: Text explains what the image might have shown in more detail.
    

JSON

{
  "candidates": [{
    "selector": {
      "surface_capabilities": {
        "capabilities": ["RICH_RESPONSE"]
      }
    },
    "first_simple": {
      "variants": [{
        "speech": "Here's a simple message."
      }]
    },
    "content": {
      "card": {
        "title": "Image card title",
        "text": "Some details about the image",
        "image": {
          "url": "https://www.example.com/image/"
        }
      }
    }
  }, {
    "first_simple": {
      "variants": [{
        "speech": "Text explains what the image might have shown in more detail."
      }]
    }
  }]
}
    

Sie können eine oder mehrere Funktionsanforderungen für einen bestimmten Kandidaten angeben. In der folgenden Liste werden alle verfügbaren Funktionsanforderungen beschrieben:

  • SPEECH: Das Gerät kann über Sprachausgabe oder SSML mit dem Nutzer sprechen.
  • RICH_RESPONSE: Das Gerät kann ausführliche Antworten wie Karten, Listen und Tabellen anzeigen.
  • LONG_FORM_AUDIO: Das Gerät kann lange Audiomedien wie Musik und Podcasts wiedergeben.
  • INTERACTIVE_CANVAS: Das Gerät kann eine „Interactive Canvas“-Antwort anzeigen.
  • WEB_LINK: Auf dem Gerät können Weblinks in Rich-Antworten verwendet werden, um einen Webbrowser zu öffnen.
  • HOME_STORAGE: Das Gerät kann Daten im Speicher für zu Hause speichern und von dort aus darauf zugreifen.

Varianten

Mit Varianten können mehrere Versionen einer Antwort definiert werden. Wenn Assistant die Aufforderung an einen Nutzer sendet, wird eine der Varianten nach dem Zufallsprinzip ausgewählt. Als Best Practice beim Design von Unterhaltungen solltest du Nutzern alternative Antworten geben, wenn sie sich mit deiner Aktion unterhalten.

Du kannst beispielsweise verschiedene Varianten der Willkommensnachricht angeben, damit Nutzer nicht jedes Mal die gleiche Antwort hören, wenn sie deine Aktion aufrufen:

YAML

candidates:
  - first_simple:
      variants:
        - speech: Hello.
        - speech: Hi there.
        - speech: Welcome.
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Hello."
      },{
        "speech": "Hi there."
      },{
        "speech": "Welcome."
      }]
    }
  }]
}
    

Vorschläge

Beispiel für Vorschlags-Chips auf einem Smart Display

Vorschläge bieten Nutzern auf Display-fähigen Geräten Chips für Vorschläge, wenn Assistant die Aufforderung anzeigt. Mit Vorschlags-Chips können Sie Nutzerantworten als Hinweis auf die Fortsetzung oder Neuausrichtung der Konversation verwenden. Wenn Sie darauf tippen, wird der angezeigte Text wortgetreu an die Unterhaltung zurückgegeben, so als hätte der Nutzer ihn eingegeben.

In einer einzelnen Aufforderung können maximal acht Vorschläge mit einer maximalen Länge von jeweils 25 Klartextzeichen enthalten sein.

Wenn Sie einen Vorschlag hinzufügen möchten, geben Sie ein Suggestion-Objekt an, das jeden Vorschlag in einem separaten title-Feld enthält. Jeder Titel darf innerhalb der Vorschlags-Chips nur einmal vorkommen. In Actions Builder wird dieses Objekt in YAML und JSON als suggestions dargestellt.

Beispielsweise können Sie neben einer Frage Vorschläge mit „Ja“ und „Nein“ machen:

YAML

candidates:
  - first_simple:
      variants:
        - speech: 'Welcome, do you want to play a game?'
    suggestions:
      - title: 'Yes'
      - title: 'No'
    

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Welcome, do you want to play a game?"
      }]
    },
    "suggestions": [{
      "title": "Yes"
    }, {
      "title": "No"
    }]
  }]
}