In Dialogflow ansehen
Klicken Sie auf Weiter, um das Antwortbeispiel in Dialogflow zu importieren. Führen Sie dann die folgenden Schritte aus, um das Beispiel bereitzustellen und zu testen:
- Geben Sie einen Agent-Namen ein und erstellen Sie einen neuen Dialogflow-Agent für das Beispiel.
- Nachdem der Agent importiert wurde, klicken Sie auf Zum Agent.
- Klicken Sie im Hauptnavigationsmenü auf Fulfillment (Auftragsausführung).
- Aktivieren Sie den Inline-Editor und klicken Sie auf Bereitstellen. Der Editor enthält den Beispielcode.
- Gehen Sie im Hauptnavigationsmenü zu Integrationen und klicken Sie dann auf Google Assistant.
- Aktivieren Sie im angezeigten modalen Fenster die Option Automatische Vorschau der Änderungen und klicken Sie auf Testen, um den Actions Simulator zu öffnen.
- Geben Sie im Simulator
Talk to my test app
ein, um das Beispiel zu testen.
Bei einfachen Antworten erfolgt die Visualisierung in Form einer Chat-Bubble und Sprachausgabe erfolgt per Sprachausgabe oder Sprachausgabe.
TTS-Text wird standardmäßig als Chat-Bubble-Inhalt verwendet. Wenn der visuelle Aspekt dieses Texts Ihren Anforderungen entspricht, müssen Sie für eine Chat-Bubble keinen Anzeigetext angeben.
Wie du diese visuellen Elemente in deine Aktion einbinden kannst, erfährst du in unseren Richtlinien für Unterhaltungsdesigns.
Attribute

Für einfache Antworten gelten die folgenden Anforderungen und optionalen Attribute, die Sie konfigurieren können:
- Wird auf Oberflächen mit den Funktionen
actions.capability.AUDIO_OUTPUT
oderactions.capability.SCREEN_OUTPUT
unterstützt. Maximal 640 Zeichen pro Chat-Bubble. Strings, die das Limit überschreiten, werden bei der ersten Wortsperre (oder Leerzeichen) vor 640 Zeichen abgeschnitten.
Die Inhalte von Chat-Bubbles müssen eine phonetische Teilmenge oder ein vollständiges Transkript der TTS-/SSML-Ausgabe sein. So können Nutzer das Gesagte besser nachvollziehen und das Verständnis unter verschiedenen Bedingungen wird verbessert.
Pro Spiel sind maximal zwei Chat-Bubbles verfügbar.
Der an Google gesendete Chatkopf (Logo) muss 192 × 192 Pixel groß sein und darf nicht animiert sein.

Beispielcode
Node.js
app.intent('Simple Response', (conv) => { conv.ask(new SimpleResponse({ speech: `Here's an example of a simple response. ` + `Which type of response would you like to see next?`, text: `Here's a simple response. ` + `Which response would you like to see next?`, })); });
Java
@ForIntent("Simple Response") public ActionResponse welcome(ActionRequest request) { ResponseBuilder responseBuilder = getResponseBuilder(request); responseBuilder.add( new SimpleResponse() .setTextToSpeech( "Here's an example of a simple response. " + "Which type of response would you like to see next?") .setDisplayText( "Here's a simple response. Which response would you like to see next?")); return responseBuilder.build(); }
Node.js
conv.ask(new SimpleResponse({ speech: `Here's an example of a simple response. ` + `Which type of response would you like to see next?`, text: `Here's a simple response. ` + `Which response would you like to see next?`, }));
Java
ResponseBuilder responseBuilder = getResponseBuilder(request); responseBuilder.add( new SimpleResponse() .setTextToSpeech( "Here's an example of a simple response. " + "Which type of response would you like to see next?") .setDisplayText( "Here's a simple response. Which response would you like to see next?")); return responseBuilder.build();
JSON
Im JSON-Code unten wird eine Webhook-Antwort beschrieben.
{ "payload": { "google": { "expectUserResponse": true, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "Here's an example of a simple response. Which type of response would you like to see next?", "displayText": "Here's a simple response. Which response would you like to see next?" } } ] } } } }
JSON
Im JSON-Code unten wird eine Webhook-Antwort beschrieben.
{ "expectUserResponse": true, "expectedInputs": [ { "possibleIntents": [ { "intent": "actions.intent.TEXT" } ], "inputPrompt": { "richInitialPrompt": { "items": [ { "simpleResponse": { "textToSpeech": "Here's an example of a simple response. Which type of response would you like to see next?", "displayText": "Here's a simple response. Which response would you like to see next?" } } ] } } } ] }
SSML und Töne
Wenn Sie SSML und Töne in Ihren Antworten verwenden, werden diese flüssiger und nutzerfreundlicher. Die folgenden Code-Snippets zeigen, wie Sie eine Antwort erstellen, die SSML verwendet:
Node.js
app.intent('SSML', (conv) => { conv.ask(`<speak>` + `Here are <say-as interpet-as="characters">SSML</say-as> examples.` + `Here is a buzzing fly ` + `<audio src="https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg"></audio>` + `and here's a short pause <break time="800ms"/>` + `</speak>`); conv.ask('Which response would you like to see next?'); });
Java
@ForIntent("SSML") public ActionResponse ssml(ActionRequest request) { ResponseBuilder responseBuilder = getResponseBuilder(request); responseBuilder.add( "<speak>" + "Here are <say-as interpet-as=\"characters\">SSML</say-as> examples." + "Here is a buzzing fly " + "<audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>" + "and here's a short pause <break time=\"800ms\"/>" + "</speak>"); return responseBuilder.build(); }
Node.js
conv.ask(`<speak>` + `Here are <say-as interpet-as="characters">SSML</say-as> examples.` + `Here is a buzzing fly ` + `<audio src="https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg"></audio>` + `and here's a short pause <break time="800ms"/>` + `</speak>`); conv.ask('Which response would you like to see next?');
Java
ResponseBuilder responseBuilder = getResponseBuilder(request); responseBuilder.add( "<speak>" + "Here are <say-as interpet-as=\"characters\">SSML</say-as> examples." + "Here is a buzzing fly " + "<audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>" + "and here's a short pause <break time=\"800ms\"/>" + "</speak>"); return responseBuilder.build();
JSON
Im JSON-Code unten wird eine Webhook-Antwort beschrieben.
{ "payload": { "google": { "expectUserResponse": true, "richResponse": { "items": [ { "simpleResponse": { "textToSpeech": "<speak>Here are <say-as interpet-as=\"characters\">SSML</say-as> examples.Here is a buzzing fly <audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>and here's a short pause <break time=\"800ms\"/></speak>" } }, { "simpleResponse": { "textToSpeech": "Which response would you like to see next?" } } ] } } } }
JSON
Im JSON-Code unten wird eine Webhook-Antwort beschrieben.
{ "expectUserResponse": true, "expectedInputs": [ { "possibleIntents": [ { "intent": "actions.intent.TEXT" } ], "inputPrompt": { "richInitialPrompt": { "items": [ { "simpleResponse": { "textToSpeech": "<speak>Here are <say-as interpet-as=\"characters\">SSML</say-as> examples.Here is a buzzing fly <audio src=\"https://actions.google.com/sounds/v1/animals/buzzing_fly.ogg\"></audio>and here's a short pause <break time=\"800ms\"/></speak>" } }, { "simpleResponse": { "textToSpeech": "Which response would you like to see next?" } } ] } } } ] }
Weitere Informationen finden Sie in der SSML-Referenzdokumentation.
Audio-Mediathek
In unserer Sound-Mediathek bieten wir verschiedene kostenlose, kurze Klänge an. Diese Töne werden für Sie gehostet, sodass Sie sie einfach in Ihr SSML aufnehmen müssen.