1. Übersicht
Mit der Google Assistant-Entwicklerplattform können Sie Software erstellen, um die Funktionen von Google Assistant, einem virtuellen persönlichen Assistenten, auf mehr als einer Milliarde Geräte zu erweitern, darunter Smart Speaker, Smartphones, Autos, Fernseher, Kopfhörer und mehr. Nutzer interagieren mit Assistant, um Dinge zu erledigen, z. B. Lebensmittel zu kaufen oder eine Fahrt zu buchen. Als Entwickler können Sie die Assistant-Entwicklerplattform nutzen, um auf einfache Weise ansprechende und effektive Unterhaltungen zwischen Nutzern und Ihrem eigenen Drittanbieter-Fulfillment-Dienst zu erstellen und zu verwalten.
In diesem Codelab werden Konzepte für Anfänger für die Entwicklung mit Google Assistant behandelt. Sie benötigen keine Vorkenntnisse mit der Plattform, um es durchzuarbeiten. In diesem Codelab erstellen Sie eine einfache Action für Google Assistant, die Nutzern ihr Glück vorhersagt, wenn sie ihr Abenteuer im mystischen Land Gryffinberg beginnen. Im Codelab für Actions Builder – Stufe 2 wird diese Action weiter ausgebaut, um das Glück des Nutzers basierend auf seiner Eingabe anzupassen.
Aufgaben
In diesem Codelab erstellen Sie eine einfache Aktion mit den folgenden Funktionen:
- Mit einer Begrüßungsnachricht auf Nutzer reagieren
- Dem Nutzer wird eine Frage gestellt. Wenn der Nutzer antwortet, reagiert Ihre Aktion angemessen auf seine Auswahl.
- Bietet Vorschlagschips, auf die Nutzer klicken können, um Eingaben zu machen
- Die Begrüßungsnachricht für den Nutzer wird je nachdem, ob er ein wiederkehrender Nutzer ist, angepasst.
Wenn Sie dieses Codelab abgeschlossen haben, hat Ihre fertige Aktion den folgenden Konversationsablauf:
Lerninhalte
- Projekt in der Actions Console erstellen
- Nutzer nach dem Aufrufen Ihrer Action auffordern
- Nutzereingaben verarbeiten und eine Antwort zurückgeben
- Action mit dem Actions-Simulator testen
- Auftragsausführung mit dem Cloud Functions-Editor implementieren
Voraussetzungen
Die folgenden Tools müssen in Ihrer Umgebung vorhanden sein:
- Ein Webbrowser, z. B. Google Chrome
2. Einrichten
In den folgenden Abschnitten wird beschrieben, wie Sie Ihre Entwicklungsumgebung einrichten und Ihr Actions-Projekt erstellen.
Google-Berechtigungseinstellungen prüfen
Um die Aktion zu testen, die Sie in diesem Codelab erstellen, müssen Sie die erforderlichen Berechtigungen aktivieren, damit der Simulator auf Ihre Aktion zugreifen kann. So aktivieren Sie Berechtigungen:
- Rufen Sie die Seite Aktivitätseinstellungen auf.
- Melden Sie sich ggf. mit Ihrem Google-Konto an.
- Aktivieren Sie die folgenden Berechtigungen:
- Web- & App-Aktivitäten
- Wählen Sie unter Web- & App-Aktivitäten das Kästchen Auch den Chrome-Verlauf sowie Aktivitäten auf Websites, in Apps und auf Geräten berücksichtigen, die Google-Dienste nutzen aus.
Actions-Projekt erstellen
Ihr Actions-Projekt ist ein Container für Ihre Aktion. So erstellen Sie Ihr Actions-Projekt für dieses Codelab:
- Öffnen Sie die Actions Console.
- Klicken Sie auf Neues Projekt.
- Geben Sie einen Projektnamen ein, z. B.
actions-codelab
. Der Name dient nur zu Ihrer internen Referenz. Später können Sie einen externen Namen für Ihr Projekt festlegen.)
- Klicken Sie auf Projekt erstellen.
- Wählen Sie auf dem Bildschirm Welche Art von Action möchten Sie erstellen? die Karte Benutzerdefiniert aus.
- Klicken Sie auf Weiter.
- Wählen Sie die Karte Leeres Projekt aus.
- Klicken Sie auf Start building (Erstellen starten).
Rechnungskonto verknüpfen
Wenn Sie Ihr Fulfillment später in diesem Codelab mit Cloud Functions bereitstellen möchten, müssen Sie Ihrem Projekt in Google Cloud ein Abrechnungskonto zuweisen.
Wenn Sie Ihrem Projekt noch kein Rechnungskonto zugewiesen haben, gehen Sie so vor:
- Rufen Sie die Seite „Abrechnung“ in der Google Cloud Platform auf.
- Klicken Sie auf Rechnungskonto hinzufügen oder Konto erstellen.
- Geben Sie Ihre Zahlungsinformationen ein.
- Klicken Sie auf Jetzt kostenlos testen oder Senden und Abrechnung aktivieren.
- Rufen Sie die Seite „Abrechnung“ in der Google Cloud Platform auf.
- Klicken Sie auf den Tab Meine Projekte.
- Klicken Sie neben dem Actions-Projekt für das Codelab unter Aktionen auf die drei Punkte.
- Klicken Sie auf Abrechnung ändern.
- Wählen Sie im Drop-down-Menü das von Ihnen konfigurierte Rechnungskonto aus. Klicken Sie auf Konto festlegen.
Führen Sie die Schritte im Abschnitt Projekt bereinigen am Ende dieses Codelabs aus, um Gebühren zu vermeiden.
3. Unterhaltung starten
Nutzer starten die Unterhaltung mit Ihrer Aktion über die Invocation. Wenn Sie beispielsweise eine Aktion mit dem Namen MovieTime haben, können Nutzer Ihre Aktion aufrufen, indem sie z. B. Hey Google, sprich mit MovieTime sagen. MovieTime ist dabei der Anzeigename. Ihre Aktion muss einen Anzeigenamen haben, wenn Sie sie in der Produktion bereitstellen möchten. Zum Testen Ihrer Aktion müssen Sie den Anzeigenamen jedoch nicht definieren. Stattdessen können Sie im Simulator den Ausdruck Talk to my test app verwenden, um Ihre Aktion aufzurufen.
Sie müssen den Hauptaufruf bearbeiten, um festzulegen, was passiert, nachdem ein Nutzer Ihre Action aufgerufen hat.
Standardmäßig stellt Actions Builder einen generischen Prompt bereit, wenn Ihr Aufruf ausgelöst wird („Beginnen Sie mit der Entwicklung Ihrer Aktion, indem Sie den Hauptaufruf definieren.“).
Im nächsten Abschnitt passen Sie den Prompt für den Hauptaufruf in der Actions Console an.
Hauptaufruf einrichten
So ändern Sie den Prompt, den Ihre Action an den Nutzer zurücksendet, wenn er Ihre Action aufruft:
- Klicken Sie in der Navigationsleiste auf Hauptaufruf.
- Ersetzen Sie im Code-Editor den Text im Feld
speech
(Start building your action...
) durch die folgende Willkommensnachricht:A wondrous greeting, adventurer! Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you're on your way to an epic journey.
- Klicken Sie auf Speichern.
Hauptaufruf im Simulator testen
Die Actions-Konsole bietet ein Webtool zum Testen Ihrer Action, den Simulator. Die Benutzeroberfläche simuliert Hardwaregeräte und ihre Einstellungen, sodass Sie mit Ihrer Action interagieren können, als würde sie auf einem Smart Display, Smartphone, Lautsprecher oder KaiOS ausgeführt.
Wenn Sie Ihre Action aufrufen, sollte sie jetzt mit dem benutzerdefinierten Prompt antworten, den Sie hinzugefügt haben ("A wondrous greeting, adventurer!..."
).
So testen Sie den Hauptaufruf Ihrer Action im Simulator:
- Klicken Sie in der oberen Navigationsleiste auf Testen, um zum Simulator zu gelangen.
- Geben Sie zum Aufrufen Ihrer Aktion im Simulator
Talk to my test app
in das Feld Input ein und drücken SieEnter
.
Wenn Sie den Hauptaufruf Ihrer Aktion auslösen, antwortet Assistant mit Ihrer benutzerdefinierten Begrüßungsnachricht. An diesem Punkt endet die Unterhaltung, nachdem der Assistant mit einer Begrüßung geantwortet hat. Im nächsten Abschnitt ändern Sie Ihre Aktion so, dass die Unterhaltung fortgesetzt wird.
Ereignisprotokolle ansehen
Wenn Sie sich auf dem Tab Test befinden, wird im Bereich rechts das Ereignisprotokoll angezeigt, in dem der Unterhaltungsverlauf als Ereignisprotokoll dargestellt wird. In jedem Ereignisprotokoll werden die Ereignisse angezeigt, die während dieser Unterhaltungsrunde stattfinden.
Ihre Action hat derzeit ein Ereignisprotokoll, in dem sowohl die Eingabe des Nutzers ("Talk to my test app"
) als auch die Antwort Ihrer Action angezeigt werden. Der folgende Screenshot zeigt das Ereignisprotokoll Ihrer Aktion:
Wenn Sie im Ereignisprotokoll auf den Abwärtspfeil klicken, sehen Sie die Ereignisse, die in dieser Konversationsrunde chronologisch aufgetreten sind:
userInput
: Entspricht der Eingabe des Nutzers ("Talk to my test app"
).interactionMatch
: Entspricht der Hauptaufrufantwort Ihrer Aktion, die durch die Eingabe des Nutzers ausgelöst wurde. Wenn Sie diese Zeile durch Klicken auf den Pfeil maximieren, sehen Sie den Prompt, den Sie für den Hauptaufruf hinzugefügt haben (A wondrous greeting, adventurer!...
).endConversation
: Entspricht dem ausgewählten Übergang im IntentMain invocation
, der die Unterhaltung derzeit beendet. (Weitere Informationen zu Übergängen finden Sie im nächsten Abschnitt dieses Codelabs.)
Ereignisprotokolle geben Aufschluss darüber, wie Ihre Aktion funktioniert. Sie sind nützliche Tools zum Debuggen Ihrer Aktion, falls Probleme auftreten. Wenn Sie die Details eines Ereignisses aufrufen möchten, klicken Sie auf den Pfeil neben dem Ereignisnamen (siehe Screenshot unten):
4. Unterhaltung für Ihre Aktion erstellen
Nachdem Sie definiert haben, was passiert, nachdem ein Nutzer Ihre Aktion aufruft, können Sie den Rest der Unterhaltung Ihrer Aktion erstellen. Bevor Sie mit diesem Codelab fortfahren, sollten Sie sich mit den folgenden Begriffen vertraut machen, um zu verstehen, wie die Unterhaltung Ihrer Action funktioniert:
Ihre Aktion kann eine oder mehrere Szenen haben. Sie müssen jede Szene aktivieren, bevor sie ausgeführt werden kann. Die Action, die Sie in diesem Codelab erstellen, hat nur eine Szene mit dem Titel Start
. Die häufigste Methode zum Aktivieren einer Szene besteht darin, Ihre Action so zu konfigurieren, dass, wenn ein Nutzer einen Nutzer-Intent in einer Szene erfüllt, dieser Intent den Übergang zu einer anderen Szene auslöst und diese aktiviert.
Stellen Sie sich beispielsweise eine hypothetische Action vor, die dem Nutzer Fakten über Tiere liefert. Wenn der Nutzer diese Aktion aufruft, wird der Intent Main invocation
abgeglichen und löst den Übergang zu einer Szene mit dem Namen Facts
aus. Durch diesen Übergang wird die Szene Facts
aktiviert, in der der folgende Prompt an den Nutzer gesendet wird: Would you like to hear a fact about cats or dogs?
In der Szene Facts
gibt es einen Nutzer-Intent namens Cat
, der Trainingsformulierungen enthält, die der Nutzer sagen könnte, um einen Katzenfakt zu hören, z. B. „Ich möchte einen Katzenfakt hören.“ oder „Katze“. Wenn der Nutzer nach einem Katzenfakt fragt, wird der Intent Cat
abgeglichen und es wird eine Szene namens Cat fact
aufgerufen. Die Szene Cat fact
wird aktiviert und es wird ein Prompt an den Nutzer gesendet, der einen Katzen-Fakt enthält.
Abbildung 1. Ablauf eines typischen Gesprächsbeitrags in einer Aktion, die mit Actions Builder erstellt wurde
Szenen, Intents und Übergänge bilden zusammen die Logik für Ihren Dialog und definieren die verschiedenen Pfade, die Nutzer im Dialog Ihrer Aktion durchlaufen können. Im folgenden Abschnitt erstellen Sie eine Szene und definieren, wie sie aktiviert wird, nachdem ein Nutzer Ihre Action aufgerufen hat.
Übergang vom Hauptaufruf zur Szene
In diesem Abschnitt erstellen Sie eine neue Szene namens Start
, in der der Nutzer gefragt wird, ob er sein Horoskop lesen lassen möchte. Außerdem fügen Sie einen Übergang vom Hauptaufruf zur neuen Start
-Szene hinzu.
So erstellen Sie diese Szene und fügen ihr eine Übergangsblende hinzu:
- Klicken Sie in der Navigationsleiste auf Entwickeln.
- Klicken Sie in der Seitenleiste auf Hauptaufruf.
- Klicken Sie im Bereich Transition (Übergang) auf das Drop-down-Menü und geben Sie
Start
in das Textfeld ein.
- Klicken Sie auf Hinzufügen. Dadurch wird eine Szene namens
Start
erstellt und der Action wird mitgeteilt, dass sie nach der Bereitstellung des Begrüßungsprompts für den Nutzer zur SzeneStart
wechseln soll. - Klicken Sie in der Seitenleiste auf Szenen, um die Liste der Szenen aufzurufen.
- Klicken Sie unter Szenen auf Starten, um die Szene
Start
aufzurufen. - Klicken Sie im Abschnitt Beim Aufrufen der Szene
Start
auf +. - Wählen Sie Prompts senden aus.
- Ersetzen Sie den Satz im Feld
speech
(Enter the response that users will see or hear...
) durch eine Frage an den Nutzer:Before you continue on your quest, would you like your fortune told?
- Klicken Sie auf Speichern.
Google Assistant zeigt diese Aufforderung (Before you continue on your quest...
) an, wenn der Nutzer die Szene Start
betritt.
Vorschlags-Chips hinzufügen
Vorschlagschips bieten dem Nutzer anklickbare Vorschläge, die von Ihrer Action als Nutzereingabe verarbeitet werden. In diesem Abschnitt fügen Sie Vorschlagschips hinzu, um Nutzer auf Geräten mit Bildschirmen zu unterstützen.
So fügen Sie dem Prompt der Szene Start
Vorschlagschips hinzu:
- Klicken Sie in der Szene
Start
auf Vorschläge. Dadurch wird ein einzelner Vorschlags-Chip hinzugefügt. - Ersetzen Sie im Feld
title
Suggested Response
durch'Yes'
. - Fügen Sie manuell einen Vorschlagschip mit dem Titel
'No'
hinzu. Verwenden Sie dabei dieselbe Formatierung. Ihr Code sollte so aussehen:
suggestions:
- title: 'Yes'
- title: 'No'
- Klicken Sie auf Speichern.
Aktion im Simulator testen
An diesem Punkt sollte Ihre Action von der Hauptaufrufung zur Start
-Szene übergehen und den Nutzer fragen, ob er sein Horoskop lesen möchte. Außerdem sollten Vorschlagschips auf dem simulierten Display angezeigt werden.
So testen Sie Ihre Action im Simulator:
- Klicken Sie in der Navigationsleiste auf Testen, um zum Simulator zu gelangen.
- Wenn Sie Ihre Aktion im Simulator testen möchten, geben Sie
Talk to my test app
in das Feld Eingabe ein und drücken SieEnter
. Ihre Aktion sollte mit demMain invocation
-Prompt und dem hinzugefügtenStart
-Szenen-Prompt"Before you continue on your quest, would you like your fortune told?"
antworten.
Der folgende Screenshot zeigt diese Interaktion:
- Klicken Sie auf den Vorschlagschip
Yes
oderNo
, um auf den Prompt zu reagieren. Sie können auch Ja oder Nein sagen oderYes
oderNo
in das Feld Eingabe eingeben.
Wenn Sie auf den Prompt antworten, antwortet Ihr Action mit einer Meldung, dass es Ihre Eingabe nicht versteht: „Das habe ich nicht verstanden. Kannst du es noch einmal versuchen?“ Da Sie Ihre Aktion noch nicht so konfiguriert haben, dass sie die Eingaben Ja oder Nein versteht und darauf reagiert, wird Ihre Eingabe einem NO_MATCH
-Intent zugeordnet.
Standardmäßig werden mit dem System-Intent NO_MATCH
generische Antworten bereitgestellt. Sie können diese Antworten jedoch anpassen, um dem Nutzer mitzuteilen, dass Sie seine Eingabe nicht verstanden haben. Assistant beendet die Unterhaltung des Nutzers mit Ihrer Aktion, wenn die Nutzereingabe dreimal nicht zugeordnet werden kann.
Fügen Sie die Intents yes
und no
hinzu.
Da Nutzer jetzt auf die Frage Ihrer Action antworten können, können Sie Ihre Action so konfigurieren, dass sie die Antworten der Nutzer („Ja“ oder „Nein“) versteht. In den folgenden Abschnitten erstellen Sie Nutzer-Intents, die abgeglichen werden, wenn der Nutzer Ja oder Nein sagt, und fügen diese Intents der Szene Start
hinzu.
yes
-Intent erstellen
So erstellen Sie den yes
-Intent:
- Klicken Sie in der Navigationsleiste auf Entwickeln.
- Klicken Sie in der Navigationsleiste auf Benutzerdefinierte Intents, um die Liste der Intents zu öffnen.
- Klicken Sie am Ende der Liste mit den Intentionen auf das Pluszeichen (+).
- Geben Sie dem neuen Intent einen Namen
yes
und drücken SieEnter
. - Klicken Sie auf den Intent
yes
, um die Seite für den Intentyes
zu öffnen. - Klicken Sie im Abschnitt Trainingsformulierungen hinzufügen auf das Textfeld Formulierung eingeben und geben Sie die folgenden Formulierungen ein:
Yes
Y
I would
Tell me
- Klicken Sie auf Speichern.
Absicht yes
zur Szene Start
hinzufügen
Die Action kann jetzt erkennen, wenn ein Nutzer einen „Ja“-Intent äußert. Sie können den Nutzer-Intent yes
der Szene Start
hinzufügen, da der Nutzer auf den Prompt Start
(„Möchtest du, bevor du deine Suche fortsetzt, dein Glück erfahren?“) antwortet.
So fügen Sie diesen Nutzer-Intent der Szene Start
hinzu:
- Klicken Sie in der Navigationsleiste auf die Szene Start.
- Klicken Sie in der Szene
Start
neben User intent handling (Umgang mit Nutzerabsichten) auf das Pluszeichen (+). - Wählen Sie im Drop-down-Menü für Intentionen yes aus.
- Klicken Sie auf Prompts senden und aktualisieren Sie das Feld
speech
mit dem folgenden Text:Your future depends on the aid you choose to use for your quest. Choose wisely! Farewell, stranger.
Der Code in Ihrem Editor sollte so aussehen:
candidates:
- first_simple:
variants:
- speech: >-
Your future depends on the aid you choose to use for your quest. Choose
wisely! Farewell, stranger.
- Klicken Sie im Bereich Transition (Übergang) auf das Drop-down-Menü und wählen Sie End conversation (Unterhaltung beenden) aus.
- Klicken Sie auf Speichern.
yes
-Intent im Simulator testen
An diesem Punkt versteht Ihre Aktion, wann der Nutzer sein Horoskop hören möchte, und gibt die entsprechende Antwort zurück.
So testen Sie diesen Intent im Simulator:
- Klicken Sie in der Navigationsleiste auf Test.
- Wenn Sie Ihre Aktion im Simulator testen möchten, geben Sie
Talk to my test app
in das Feld Eingabe ein und drücken SieEnter
. - Geben Sie
Yes
in das Feld Eingabe ein und drücken SieEnter
. Alternativ können Sie auf den Vorschlagschip Ja klicken.
Ihre Aktion antwortet dem Nutzer und teilt ihm mit, dass sein Glück von der gewählten Hilfe abhängt. Ihre Aktion beendet dann die Sitzung, da Sie den End conversation
-Übergang für die Absicht yes
ausgewählt haben.
no
-Intent erstellen
Jetzt müssen Sie den no
-Intent erstellen, um den Nutzer zu verstehen und auf ihn zu reagieren, wenn er sein Horoskop nicht hören möchte. So erstellen Sie diesen Intent:
- Klicken Sie in der Navigationsleiste auf Entwickeln.
- Klicken Sie in der Navigationsleiste auf Benutzerdefinierte Intents, um die Liste der Intents zu öffnen.
- Klicken Sie am Ende der Liste mit den Intentionen auf das Pluszeichen (+).
- Geben Sie dem neuen Intent einen Namen
no
und drücken SieEnter
. - Klicken Sie auf Nein, um die Seite **
no
** Intention zu öffnen. - Klicken Sie im Abschnitt Trainingsformulierungen hinzufügen in das Textfeld Formulierung eingeben und geben Sie die folgenden Formulierungen ein:
No
N
I don't want
nope
- Klicken Sie auf Speichern.
Absicht no
zur Szene Start
hinzufügen
Die Action kann jetzt verstehen, wenn ein Nutzer „Nein“ oder etwas Ähnliches wie „Nein“ sagt, z. B. „Nee“. Sie müssen der Start
-Szene die Nutzerabsicht no
hinzufügen, da der Nutzer auf den Start
-Prompt („Möchtest du, dass ich dir die Zukunft vorhersage, bevor du deine Suche fortsetzt?“) antwortet.
So fügen Sie diesen Intent für die Szene Start
hinzu:
- Klicken Sie in der Navigationsleiste auf die Szene Start.
- Klicken Sie in der
Start
-Szene neben User intent handling (Umgang mit Nutzerabsichten) auf das + (Pluszeichen). - Wählen Sie im Abschnitt Intent im Drop-down-Menü die Option Nein aus.
- Klicken Sie auf Prompts senden.
- Aktualisieren Sie das Feld
speech
mit dem folgenden Text:I understand, stranger. Best of luck on your quest! Farewell.
Der Code in Ihrem Editor sollte so aussehen:
candidates:
- first_simple:
variants:
- speech: >-
I understand, stranger. Best of luck on your quest! Farewell.
- Wählen Sie im Bereich Übergang im Drop-down-Menü die Option Unterhaltung beenden aus.
- Klicken Sie auf Speichern.
no
-Intent im Simulator testen
An diesem Punkt versteht Ihre Aktion, wenn der Nutzer sein Horoskop nicht hören möchte, und gibt die entsprechende Antwort zurück.
So testen Sie diesen Intent im Simulator:
- Klicken Sie in der Navigationsleiste auf Test.
- Geben Sie
Talk to my test app
in das Feld Eingabe ein und drücken SieEnter
. - Geben Sie
No
in das Feld Eingabe ein und drücken SieEnter
. Alternativ können Sie auf den Vorschlagschip Nein klicken.
Anstatt dem Nutzer sein Glück vorherzusagen, wünscht deine Aktion ihm Glück auf seinem Weg. Ihre Aktion beendet dann die Sitzung, da Sie den End conversation
-Übergang für die Absicht no
ausgewählt haben.
5. Auftragsausführung implementieren
Derzeit sind die Antworten Ihrer Aktion statisch. Wenn eine Szene mit einem Prompt aktiviert wird, sendet Ihre Aktion jedes Mal denselben Prompt. In diesem Abschnitt implementieren Sie die Auftragsausführung, die die Logik zum Erstellen einer dynamischen Konversationsantwort enthält.
In der Auftragsausführung wird ermittelt, ob der Nutzer ein wiederkehrender oder ein neuer Nutzer ist, und die Begrüßungsnachricht der Action wird für wiederkehrende Nutzer angepasst. Die Begrüßungsnachricht für wiederkehrende Nutzer ist kürzer und erkennt die Rückkehr des Nutzers an: „Ein wundervoller Gruß, Abenteurer! Willkommen zurück im sagenhaften Land Gryffinberg!
Verwenden Sie für dieses Codelab den Cloud Functions-Editor in der Actions Console, um Ihren Auftragsausführungscode zu bearbeiten und bereitzustellen.
Ihre Aktion kann Webhooks auslösen, die Ihre Fulfillment-Anwendung über ein Ereignis informieren, das während eines Aufrufs oder bestimmter Teile der Ausführung einer Szene auftritt. Wenn ein Webhook ausgelöst wird, sendet Ihre Aktion eine Anfrage mit einer JSON-Nutzlast an die Auftragsausführung. Diese enthält auch den Namen des Handlers, der zum Verarbeiten des Ereignisses verwendet werden soll. Dieser Handler führt eine bestimmte Logik aus und gibt eine entsprechende JSON-Antwort zurück.
Auftragsausführung erstellen
Sie können jetzt die Ausführung im Inline-Editor ändern, um unterschiedliche Prompts für wiederkehrende und neue Nutzer zu generieren, wenn sie Ihre Action aufrufen.
So fügen Sie diese Logik Ihrer Auftragsausführung hinzu:
- Klicken Sie in der Navigationsleiste auf Entwickeln.
- Klicken Sie in der Navigationsleiste auf den Tab Webhook.
- Klicken Sie das Kästchen Inline Cloud Functions an.
- Klicken Sie auf Bestätigen. Für die Dateien
index.js
undpackage.json
wird automatisch Boilerplate-Code hinzugefügt.
- Ersetzen Sie den Inhalt von
index.js
durch den folgenden Code:
index.js
const { conversation } = require('@assistant/conversation');
const functions = require('firebase-functions');
const app = conversation({debug: true});
app.handle('greeting', conv => {
let message = 'A wondrous greeting, adventurer! Welcome back to the mythical land of Gryffinberg!';
if (!conv.user.lastSeenTime) {
message = 'Welcome to the mythical land of Gryffinberg! Based on your clothes, you are not from around these lands. It looks like you\'re on your way to an epic journey.';
}
conv.add(message);
});
exports.ActionsOnGoogleFulfillment = functions.https.onRequest(app);
- Klicken Sie auf Bestellung speichern.
- Klicken Sie auf Fulfillment bereitstellen.
Warten Sie einige Minuten, bis Cloud Functions die Auftragsausführung bereitgestellt und bereitgestellt hat. Über dem Code-Editor sollte die Meldung Cloud Functions-Bereitstellung läuft... angezeigt werden. Wenn der Code erfolgreich bereitgestellt wird, ändert sich die Meldung zu Ihre Cloud Functions-Bereitstellung ist auf dem neuesten Stand.
Code verstehen
Ihre Auftragsausführung, die die Actions on Google-Bibliothek zur Auftragsausführung für Node.js verwendet, antwortet auf HTTP-Anfragen von Google Assistant.
Im vorherigen Code-Snippet definieren Sie den greeting
-Handler, der anhand der lastSeenTime
-Eigenschaft prüft, ob der Nutzer die Action bereits besucht hat. Wenn lastSeenTime
nicht definiert ist, ist der Nutzer neu und der greeting
-Handler gibt die Begrüßung für neue Nutzer aus.
Hauptaufruf aktualisieren, um einen Webhook auszulösen
Nachdem Sie die greeting
-Funktion definiert haben, können Sie den greeting
-Ereignishandler in Ihrem Hauptaufruf-Intent konfigurieren, damit Ihre Action weiß, dass sie diese Funktion aufrufen muss, wenn der Nutzer Ihre Action aufruft.
So konfigurieren Sie Ihre Aktion, um den neuen greeting
-Handler aufzurufen:
- Klicken Sie in der Navigationsleiste auf Hauptaufruf.
- Deaktivieren Sie Prompt senden.
- Klicken Sie das Kästchen Webhook aufrufen an.
- Geben Sie
greeting
in das Textfeld ein.
- Klicken Sie auf Speichern.
Aktualisierten Hauptaufruf im Simulator testen
So testen Sie Ihre Action im Simulator:
- Klicken Sie in der Navigationsleiste auf Testen, um zum Simulator zu gelangen.
- Geben Sie
Talk to my test app
in das Feld Eingabe ein und drücken SieEnter
.
Da Sie Ihre Action bereits früher in diesem Codelab getestet haben, sind Sie kein neuer Nutzer. Daher erhalten Sie die folgende gekürzte Begrüßung: Ein wundervoller Gruß, Abenteurer! Willkommen zurück im sagenumwobenen Land Gryffinberg!…“
Projekt bereinigen [empfohlen]
Um mögliche Gebühren zu vermeiden, sollten Sie Projekte entfernen, die Sie nicht verwenden möchten. So löschen Sie die Projekte, die Sie in diesem Codelab erstellt haben:
- Führen Sie die Schritte im Abschnitt Projekte beenden (löschen) aus, um das Cloud-Projekt und die Ressourcen zu löschen.
- Optional: Wenn Sie Ihr Projekt sofort aus der Actions Console entfernen möchten, führen Sie die Schritte im Abschnitt Projekt löschen aus. Wenn Sie diesen Schritt nicht ausführen, wird Ihr Projekt nach etwa 30 Tagen automatisch entfernt.
6. Glückwunsch!
Sie kennen die Grundlagen der Entwicklung von Aktionen für Google Assistant.
Behandelte Themen
- Actions-Projekt mit der Actions Console einrichten
- Aufforderung zum Hauptaufruf hinzufügen, damit Nutzer eine Unterhaltung mit Ihrer Aktion starten können
- Kommunikationsschnittstelle mit Szenen, Intents, Übergängen, Vorschlagschips und Auftragsausführung erstellen
- Aktion mit dem Actions-Simulator testen
Weitere Informationen
In den folgenden Ressourcen finden Sie weitere Informationen zum Erstellen von Actions für Google Assistant:
- Codelab: Aktionen für Google Assistant mit Actions Builder erstellen (Stufe 2), um Ihre Konversationsaktion aus diesem Codelab weiterzuentwickeln
- Offizielle Dokumentationswebsite für die Entwicklung von Actions für Google Assistant
- Actions on Google-GitHub-Seite mit Beispielcode und Bibliotheken
- Offizielle Reddit-Community für Entwickler, die mit Assistant arbeiten
- @ActionsOnGoogle auf Twitter für die neuesten Ankündigungen (tweeten Sie mit #AoGDevs, um zu teilen, was Sie entwickeln)
Feedback-Umfrage
Bevor Sie gehen, füllen Sie bitte eine kurze Umfrage zu Ihren Erfahrungen aus.