Nutzer mit „Action“ für Google Assistant ansprechen

1. Übersicht

Actions on Google ist eine Entwicklerplattform, mit der Sie Software entwickeln können, um die Funktionen von Google Assistant, dem virtuellen persönlichen Assistenten von Google, auf mehr als einer Milliarde Geräten zu erweitern, darunter intelligente Lautsprecher, 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. Eine vollständige Liste der möglichen Aktionen finden Sie im Aktionensverzeichnis. Als Entwickler können Sie Actions on Google verwenden, um ganz einfach ansprechende und effektive Unterhaltungen zwischen Nutzern und dem Drittanbieterdienst zu erstellen.

Dies ist ein erweitertes Codelab-Modul für Leser, die bereits Erfahrung mit dem Erstellen von Aktionen für Google Assistant haben. Wenn Sie noch keine Erfahrung mit der Nutzung von Actions on Google haben, sollten Sie sich mit unseren Einführungs-Codelabs ( Level 1, Level 2 und Level 3) vertraut machen. Diese erweiterten Module führen dich durch eine Reihe von Funktionen, mit denen du die Funktionen deiner Action erweitern und dein Publikum vergrößern kannst.

Eine wichtige Möglichkeit zum Messen des Erfolgs einer Aktion ist die Nutzerinteraktion oder die Effektivität, die die Nutzeraktion nach der ersten Interaktion generiert. Um das zu vereinfachen, kannst du verschiedene Funktionen in deine Aktion einbinden, über die Nutzer wieder zur Unterhaltung zurückkehren.

Darin werden Funktionen und Best Practices für Actions on Google beschrieben.

a3fc0061bd01a75.png 961ef6e27dc73da2.png

Aufgaben

Sie können eine Funktion optimieren, die bereits entwickelt wurde, indem Sie Folgendes tun:

  • Tägliche Updates für Nutzer senden, mit denen sie interagieren können
  • Senden Sie Nutzern Push-Benachrichtigungen, die zurück auf Ihre Aktion verweisen
  • Link erstellen, über den Nutzer über einen mobilen Webbrowser zu Ihrer Aktion gelangen

Lerninhalte

  • Was sind Nutzerinteraktionen und warum ist sie für den Erfolg einer Aktion wichtig?
  • Aktion ändern, um Nutzerinteraktionen zu steigern
  • Welche Nutzerinteraktionsfunktionen für verschiedene Arten von Aktionen verwendet werden
  • Mit der Actions API Benachrichtigungen über Assistant senden

Voraussetzungen

Folgende Tools stehen zur Verfügung:

  • Ein IDE/Text-Editor Ihrer Wahl, z. B. WebStorm, Atom oder Sublime
  • Ein Terminal zum Ausführen von Shell-Befehlen mit Node.js, npm und Git
  • Ein Webbrowser, z. B. Google Chrome
  • Eine lokale Entwicklungsumgebung mit der Firebase-Befehlszeile
  • Ein Mobilgerät (Android oder iOS) mit Assistant. Sie müssen in Assistant mit demselben Google-Konto angemeldet sein, mit dem Sie dieses Projekt erstellen.

Es wird dringend empfohlen, mit JavaScript (ES6) vertraut zu sein, um den Webhook-Code zu verstehen.

2. Projekt einrichten

In diesem Abschnitt erfahren Sie, wie Sie einer vollständigen zuvor erstellten Aktion Interaktionsfunktionen für Nutzer hinzufügen.

Beispiel verstehen

Das Beispiel für dieses Codelab ist eine einfache Aktion für ein fiktives Fitnessstudio mit dem Namen „Action Gym“." Die Aktion liefert Informationen über das Fitnessstudio, einschließlich einer Liste der abwechselnden Kurse. Eine solche informative Aktion ist gut für alle Funktionen zur Nutzerinteraktion geeignet, da die rotierende Klassenliste täglich unterschiedliche nützliche Informationen enthält.

Das folgende Diagramm zeigt den interaktiven Ablauf eines Action-Trainings:

e2d6e4ad98948cf3.png

Sie nehmen kleinere Änderungen am Dialogfeld vor, damit sie besser zu den von Ihnen hinzugefügten Interaktionsfunktionen passen. Das allgemeine Design des Gesprächs ändert sich jedoch nicht sehr.

Basisdateien herunterladen

Führen Sie den folgenden Befehl aus, um das GitHub-Repository für das Codelab zu klonen:

git clone https://github.com/actions-on-google/user-engagement-codelab-nodejs

Projekt und Agent einrichten

So richten Sie Ihr Actions-Projekt und den Dialogflow-Agent ein:

  1. Öffnen Sie die Aktionskonsole.
  2. Klicken Sie auf Neues Projekt.
  3. Geben Sie einen Projektnamen ein, z. B. engagement-codelab.
  4. Klicke auf Projekt erstellen.
  5. Anstatt eine Kategorie auszuwählen, scrollen Sie nach unten zum Abschnitt Weitere Optionen und klicken Sie auf die Karte Unterhaltungen.
  6. Klicken Sie auf Aktion erstellen, um die Optionen zu maximieren, und wählen Sie Aktion(en) hinzufügen aus.
  7. Klicken Sie auf Erste Aktion hinzufügen.
  8. Wählen Sie im Dialogfeld Create Action (Aktion erstellen) die Option Custom Intent (Benutzerdefinierter Intent) aus und klicken Sie dann auf Build (Erstellen), um die Dialogflow-Konsole zu starten.
  9. Klicken Sie in der Dialogflow-Konsole auf Erstellen.
  10. Klicken Sie links im Navigationsbereich auf das Zahnradsymbol 6bf56243a8a11a3b.
  11. Klicken Sie auf Exportieren und importieren und dann auf Von Zip-Datei wiederherstellen.
  12. Lade die Datei agent.zip aus dem Verzeichnis /user-engagement-codelab-nodejs/start/ hoch, das du zuvor heruntergeladen hast.
  13. Geben Sie RESTORE ein und klicken Sie auf Wiederherstellen.
  14. Klicken Sie auf Fertig.

Auftragsausführung bereitstellen

Nachdem Ihr Actions-Projekt und der Dialogflow-Agent bereit sind, können Sie Ihre lokale index.js-Datei mithilfe der Firebase Functions-Befehlszeile bereitstellen.

Führe im Verzeichnis /user-engagement-codelab-nodejs/start/functions/ deiner Klondateien die folgenden Befehle aus:

firebase use <PROJECT_ID>
npm install
firebase deploy

Nach einigen Minuten sollte die Meldung Deploy complete! (Bereitgestellt) angezeigt werden. Diese Meldung gibt an, dass Sie Ihren Webhook erfolgreich in Firebase bereitgestellt haben.

Bereitstellungs-URL abrufen

Sie müssen Dialogflow die URL zur Cloud-Funktion zur Verfügung stellen. So rufen Sie diese URL ab:

  1. Öffnen Sie die Firebase Console.
  2. Wählen Sie das Actions-Projekt aus der Liste der Optionen aus.
  3. Rufen Sie in der linken Navigationsleiste Funktionen und Funktionen entwickeln auf. Wenn Sie zur Aktivierung der Datenfreigabeeinstellungen aufgefordert werden, können Sie die Option ignorieren. Klicken Sie dazu auf Später.
  4. Auf dem Tab Dashboard sollte ein Eintrag für „Fulfillment“ (Auftragsausführung) mit einer URL unter Trigger angezeigt werden. Speichern Sie die URL. Sie muss im nächsten Abschnitt in Dialogflow kopiert werden.

1741a329947975db.png

Webhook-URL in Dialogflow festlegen

Jetzt müssen Sie den Dialogflow-Agent aktualisieren, damit er für die Auftragsausführung verwendet werden kann. Gehen Sie hierzu folgendermaßen vor:

  1. Öffnen Sie die Dialogflow-Konsole. Sie können die Firebase Console auf Wunsch schließen.
  2. Klicken Sie im linken Navigationsbereich auf Fulfillment (Auftragsausführung).
  3. Aktivieren Sie Webhook.
  4. Fügen Sie die aus dem Firebase-Dashboard kopierte URL ein, falls sie nicht bereits angezeigt wird.
  5. Klicken Sie auf Speichern.

Prüfen, ob das Projekt korrekt eingerichtet ist

Die Nutzer sollten Ihre Aktion aufrufen können, um Informationen zu „Aktionsstudio“ zu erhalten, einschließlich einer hartcodierten Textantwort mit Öffnungszeiten und einer Textantwort, mit der der Kursplan für jeden Wochentag aufgeführt ist.

So testen Sie Ihre Aktion im Aktionssimulator:

  1. Klicken Sie im linken Navigationsbereich der Dialogflow-Konsole auf Integrations > Google Assistant.
  2. Prüfen Sie, ob die Option Änderungen in der Vorschau anzeigen aktiviert ist, und klicken Sie auf Testen, um das Actions-Projekt zu aktualisieren.
  3. Der Actions-Simulator lädt Ihr Actions-Projekt. Testen Sie Ihre Aktion, indem Sie Talk to my test app in das Feld Eingabe eingeben und die Eingabetaste drücken.
  4. Du solltest eine Antwort sehen, die dich im Action-Training begrüßt. Folgen Sie den Eingabeaufforderungen, um die Unterhaltung fortzusetzen, und stellen Sie sicher, dass für die Auftragsausführung eine Antwort vorhanden ist.

60acf1ff87b1a87f

3. Tägliche Abo-Updates hinzufügen

Eine gängige Methode besteht darin, den Nutzern Informationen bereitzustellen, wenn diese am nützlichsten sind. Dazu bieten sie Nutzern die Möglichkeit, tägliche Updates für einen Intent zu abonnieren, wodurch sie eine Assistant-Benachrichtigung erhalten, die direkt mit der Auftragsausführung des entsprechenden Intents verknüpft ist.

In diesem Schritt erfahren Sie mehr über Abos mit täglichen Updates und können sie dem Intent Class List (Aktionsliste) hinzufügen. Wenn du der Anleitung unten folgst, sieht deine Unterhaltung wie folgt aus:

f48891c8118f7436

Wie sprechen Sie Nutzer an?

Smartphone-Nutzer kennen die Push-Benachrichtigungen wahrscheinlich, weil sie app-spezifische Informationen und Updates liefern. Mit täglichen Updateabos können Sie ganz einfach über Mobilgeräte außerhalb von Assistant auf Nutzer zugreifen. Voraussetzung ist, dass der Intent, den Sie täglich über Updates senden, weiterhin einen Mehrwert bietet.

Tägliche Updates können ein nützliches Werkzeug für Interaktionen sein, sollten aber nicht in jeder Aktion enthalten sein. Die folgenden Tipps helfen Ihnen bei der Entscheidung, ob Sie einer Aktion tägliche Abo-Updates hinzufügen:

  • Sorge dafür, dass die täglichen Updates dazu führen, dass der Nutzer jeden Tag andere, hilfreiche Informationen sieht. Erhält ein tägliches Update immer dieselbe Aufforderung, wird der Nutzer wahrscheinlich nach ein paar Tagen das Abo beendet.
  • Achte darauf, dass der Dialog für deine Nutzer sinnvoll ist, wenn sie direkt zu deiner täglichen Aktualisierung springen. Der Nutzer beginnt nicht unbedingt von vorn mit der Unterhaltung und sollte daher von möglichst viel Kontext profitieren.
  • Zeige deinen Nutzern die Vorteile deiner Aktion, bevor du sie ermutigst, tägliche Aktualisierungen zu abonnieren. Deine Nutzer denken: „Ich möchte, dass diese Inhalte jeden Tag veröffentlicht werden.“
  • Überfordern Sie den Nutzer nicht mit wiederholten Vorschlägen zum Abonnieren. Biete ihm ein tägliches Update-Abo, sobald er dem Nutzer zeigt, was er abonniert hat, damit er nicht woanders stört.
  • Halten Sie die Unterhaltung kurz, nachdem der Update-Intent ausgelöst wurde. Die meisten täglichen Updates sollten nur aus einer einzigen Antwort bestehen und dann geschlossen werden, ohne dass der Nutzer etwas tun muss.

Tägliche Updates aktivieren

Tägliche Update-Abos können dem Begrüßungs-Intent hinzugefügt werden, wodurch der Nutzer zu Beginn Ihrer Unterhaltung beginnt. Sie können auch einen spezifischeren Intent hinzufügen, um Nutzer mithilfe eines Deeplinks zu einer beliebigen Stelle in der Unterhaltung weiterzuleiten. In diesem Codelab ist die Intent-Liste Kursliste am sinnvollsten, da sich der Dialog täglich ändert. Nutzer werden sich dann daran erinnern können, welche Kurse verfügbar sind.

So aktivieren Sie tägliche Updates für den Intent Class List (Kursliste):

  1. Klicken Sie in der Aktionen-Konsole auf den Tab Entwickeln und wählen Sie in der linken Navigationsleiste Aktionen aus.
  2. Klicken Sie in der Liste Aktionen auf Kursliste.
  3. Aktivieren Sie im Bereich Nutzer-Engagement die Option Möchtest du Nutzern tägliche Updates anbieten?.
  4. Lege einen aussagekräftigen Inhaltstitel fest, der das tägliche Update beschreibt. Der Kontext ist &quot. Wann soll ich deine tägliche Nachricht senden? Achte darauf, dass dein Titel sowohl beschreibend als auch wahrnehmbar ist, wenn er vorgelesen wird. Legen Sie für dieses Beispiel den Inhaltstitel auf list of upcoming Action Gym classes fest.
  5. Klicken Sie oben auf der Seite auf Speichern.

c00885cc30e14d68.png

Dialogflow einrichten

Führen Sie die folgenden Schritte in der Dialogflow-Konsole aus, um Intents für das tägliche Update-Abo zu erstellen:

Nutzer auffordern, ein Abo abzuschließen

  1. Richte einen neuen Intent ein, mit dem der Nutzer verarbeitet wird, der tägliche Benachrichtigungen abonnieren möchte. Klicken Sie in der Dialogflow-Konsole links neben Intents auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Setup Updates“ an.
  3. Fügen Sie im Abschnitt Trainingsphrasen die folgenden Nutzerausdrücke hinzu:
  • Send daily reminders
  • Reminder
  • Remind me
  • Updates
  • Upcoming classes
  1. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  2. Klicken Sie oben auf der Seite auf Speichern.

5c70faa02151da0.png

Entscheidung des Nutzers treffen

  1. Richte einen neuen Intent ein, um die Antwort des Nutzers auf die Aufforderung für tägliche Aktualisierungen zu verarbeiten. Klicken Sie neben Intents in der linken Navigationsleiste auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Confirm Updates“ an.
  3. Fügen Sie im Abschnitt Ereignisse actions_intent_REGISTER_UPDATE hinzu. Dieses Dialogflow-Ereignis wird ausgelöst, wenn der Nutzer das Abo-Update abschließt, unabhängig davon, ob er den Dienst doch abonniert hat oder nicht.
  4. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  5. Klicken Sie oben auf der Seite auf Speichern.

b871c2bdadac8abc.png

Auftragsausführung ausführen

Führen Sie die folgenden Schritte aus, um die Auftragsausführung in Ihrem Webhook zu implementieren:

Abhängigkeiten laden

b2f84ff91b0e1396 Aktualisiere in der Datei index.js die Funktion require(), um das Paket RegisterUpdate aus dem Paket actions-on-google hinzuzufügen, damit deine Importe so aussehen:

index.js

const {
  dialogflow,
  Suggestions,
  RegisterUpdate,
} = require('actions-on-google');

Vorschläge-Chips aktualisieren

b2f84ff91b0e1396 Füge der Liste mit Vorschlägen-Chip-Titeln in der Datei index.js einen DAILY-Eintrag hinzu, damit deine Suggestion-Definition so aussieht:

index.js

// Suggestion chip titles
const Suggestion = {
  HOURS: 'Ask about hours',
  CLASSES: 'Learn about classes',
  DAILY: 'Send daily reminders',
};

Auftragsausführung für neue Intents hinzufügen

Wenn der Nutzer sagt, dass er ein Abo abschließen möchte, starte den Aboablauf pro Tag. Rufe dazu den Assistenten RegisterUpdate mit dem Ziel-Intent von (Klassenliste) und dem Typ (DAILY) auf. Nach Abschluss des Abovorgangs löst Assistant das Ereignis actions_intent_REGISTER_UPDATE mit einem Argument status aus, das beschreibt, ob das Abo erfolgreich war oder nicht. Biete dem Nutzer auf Grundlage von Abo-Updates Aufforderungen zur Nachbetreuung an.

b2f84ff91b0e1396 Füge in der Datei index.js den folgenden Code hinzu:

index.js

// Start opt-in flow for daily updates
app.intent('Setup Updates', (conv) => {
  conv.ask(new RegisterUpdate({
    intent: 'Class List',
    frequency: 'DAILY',
  }));
});

// Confirm outcome of opt-in for daily updates
app.intent('Confirm Updates', (conv, params, registered) => {
  if (registered && registered.status === 'OK') {
     conv.ask(`Gotcha, I'll send you an update everyday with the ` +
     'list of classes. Can I help you with anything else?');
  } else {
    conv.ask(` I won't send you daily reminders. Can I help you with anything else?`);
  }
  if (conv.screen) {
    conv.ask(new Suggestions([Suggestion.HOURS, Suggestion.CLASSES]));
  }
});

Alternative Aufforderungen für Nutzer anbieten

Ihre Kursliste-Antwort enthält das tägliche Update-Abo, doch dies ist ein Problem. Da dieselbe Antwort ausgelöst wird, wenn der Nutzer auf die tägliche Updatebenachrichtigung tippt, wird er aufgefordert, tägliche Updates zu abonnieren, auch wenn er nur von einem Benachrichtigung stammt. Wie kannst du Nutzer davon abhalten, ein neues Abo abzuschließen?

Glücklicherweise enthalten die Argumente Ihres conv-Objekts Informationen dazu, wo der Nutzer die Unterhaltung gestartet hat. Du kannst die conv-Argumente prüfen, um zu sehen, ob sie einen UPDATES-Abschnitt enthalten. Das bedeutet, dass der Nutzer die Unterhaltung über eine tägliche Updatebenachrichtigung gestartet hat, und die Antwort entsprechend ändern. Sie können diesen Unterhaltungszweig auch verwenden, um das Dialogfeld direkt nach der Liste der Kurse zu schließen. So halten wir uns an die Best Practices, um das tägliche Update kurz zu halten.

b2f84ff91b0e1396 Ersetzen Sie in der Datei index.js den folgenden Code:

index.js

// Class list intent handler
app.intent('Class List', (conv, {day}) => {
  if (!day) {
    day = DAYS[new Date().getDay()];
  }
  const classes =
  [...new Set(schedule.days[day].map((d) => `${d.name} at ${d.startTime}`))]
  .join(', ');
  const classesMessage =
  `On ${day} we offer the following classes: ${classes}. ` +
  `Can I help you with anything else?`;
  conv.ask(classesMessage);
  if (conv.screen) {
    conv.ask(new Suggestions([Suggestion.HOURS]));
  }
});

damit:

index.js

// Class list intent handler
app.intent('Class List', (conv, {day}) => {
  if (!day) {
    day = DAYS[new Date().getDay()];
  }
  const classes =
  [...new Set(schedule.days[day].map((d) => `${d.name} at ${d.startTime}`))]
  .join(', ');
  let classesMessage = `On ${day} we offer the following classes: ${classes}. `;
  // If the user started the conversation from the context of a daily update,
  // the conv's arguments will contain an 'UPDATES' section.
  let engagement = conv.arguments.get('UPDATES');
  // Check the conv arguments to tailor the conversation based on the context.
  if (engagement) {
    classesMessage += `Hope to see you soon at Action Gym!`;
    conv.close(classesMessage);
  } else {
    classesMessage += `Would you like me to send you daily reminders of upcoming classes, or can I help you with anything else?`;
    conv.ask(classesMessage);
    if (conv.screen) {
      conv.ask(new Suggestions([Suggestion.DAILY, Suggestion.HOURS]));
    };
  };
});

Tägliche Updates testen

Führen Sie im Terminal den folgenden Befehl aus, um den aktualisierten Webhook-Code in Firebase bereitzustellen:

firebase deploy

So testen Sie die benutzerdefinierte Aufforderung im Actions-Simulator:

  1. Gehen Sie in der Aktionen-Konsole zu Testen.
  2. Geben Sie in das Feld Eingabe Talk to my test app ein und drücken Sie die Eingabetaste.
  3. Geben Sie Learn about classes ein und drücken Sie die Eingabetaste. Deine Antwort sollte jetzt täglich tägliche Erinnerungen senden.
  4. Geben Sie Send daily reminders ein und drücken Sie die Eingabetaste.
  5. Geben Sie einen Zeitpunkt ein, zu dem Sie die Aktualisierung sehen möchten, und drücken Sie die Eingabetaste. Zu Testzwecken sollten Sie mit einer Reaktion von drei bis fünf Minuten nach der aktuellen Uhrzeit schauen.

83a15ecac8c71787

Auf Ihrem Mobilgerät sollten Sie zu der von Ihnen angegebenen Zeit eine Benachrichtigung von Assistant erhalten. Es kann einige Minuten dauern, bis diese Benachrichtigung erscheint. Wenn Sie auf die Benachrichtigung tippen, sollte sie direkt auf den Intent Kursliste in Assistant verweisen. Dort finden Sie eine Liste mit anstehenden Kursen:

8582482eafc67d5b

4. Push-Benachrichtigungen hinzufügen

Eine weitere Option, um Nutzer außerhalb Ihrer Aktion anzusprechen, können Sie über die Actions API aufrufen. Diese sendet Push-Benachrichtigungen an Nutzer. Anders als bei täglichen Updates werden diese Benachrichtigungen nicht automatisch von Assistant geplant, damit du sie jederzeit senden kannst.

In diesem Schritt erfahren Sie, wie Sie Push-Benachrichtigungen in Ihrer Aktion implementieren, indem Sie einen neuen Intent Abgebrochen hinzufügen und Benachrichtigungen an Nutzer senden, die sie über eine Absage von Kursen informieren. Außerdem werden die folgenden drei Komponenten zum Senden von Benachrichtigungen eingerichtet:

  • Actions API-Konto: Zum Senden von Benachrichtigungen an den Nutzer müssen Sie eine POST-Anfrage an eine API senden. Daher müssen Sie ein Dienstkonto und Anmeldedaten einrichten, um eine Verbindung zu dieser API herzustellen.
  • Berechtigungshilfe: Sie benötigen die Berechtigung des Nutzers, um auf die Nutzer-ID zuzugreifen, die zum Senden von Push-Benachrichtigungen erforderlich ist. In diesem Beispiel rufen Sie eine Clientbibliotheksfunktion auf, um die Berechtigungshilfe aufzurufen und diese ID anzufordern.
  • Speicher: Wenn Sie Push-Benachrichtigungen an Nutzer außerhalb einer Unterhaltung senden möchten, müssen Sie die IDs der Nutzer an einem Ort speichern, der jederzeit zurückgerufen werden kann. In diesem Beispiel richten Sie eine Firestore-Datenbank ein, in der die Informationen für jeden Nutzer gespeichert werden.

Wenn du diese Anleitung befolgt hast, fügst du den folgenden Dialog in deine Unterhaltung ein:

7c9d4b633c547823

Wie sprechen Sie Nutzer an?

Smartphone-Nutzer kennen die Push-Benachrichtigungen wahrscheinlich, weil sie app-spezifische Informationen und Updates liefern. Push-Benachrichtigungen sind eine flexible Möglichkeit, auf Mobilgeräten außerhalb von Assistant auf Nutzer zuzugreifen. Voraussetzung ist, dass der Nutzer einen guten Grund hat, sie zu aktivieren. Bei täglichen Aktualisierungen wissen Nutzer bereits, dass sie täglich benachrichtigt werden. Bei Push-Benachrichtigungen wissen Nutzer jedoch nicht, ob sie seltener E-Mail-Benachrichtigungen erhalten oder mehrmals täglich benachrichtigt werden.

Push-Benachrichtigungen können ein hilfreiches Tool für Interaktionen sein, sollten aber nicht unbedingt in jeder Aktion verwendet werden. Die folgenden Tipps helfen Ihnen bei der Entscheidung, ob Sie einer Aktion Push-Benachrichtigungen hinzufügen:

  • Planen Sie einige Beispielpläne für Ihre Push-Benachrichtigungen. Wenn Sie nur eine Push-Benachrichtigung pro Tag senden möchten, sollten Sie stattdessen tägliche Updates verwenden.
  • E-Mails mit Push-Benachrichtigungen sollten immer hilfreiche Informationen enthalten. Deine Benachrichtigungen können auch mit einem Deeplink zu einem deiner Intents verknüpft sein. Achte also darauf, dass dieser nützlich und relevant ist.
  • Seien Sie deutlich, wenn Sie einen Nutzer auffordern, Push-Benachrichtigungen zu abonnieren. Sie müssen wissen, was sie mit der jeweiligen Push-Benachrichtigung erwartet, und wissen, wie oft sie gesendet werden.

Actions API aktivieren

  1. Öffnen Sie die Google Cloud Console und wählen Sie den Namen Ihres Actions-Projekts aus dem Drop-down-Menü aus.

d015c1515b99e3db.PNG

  1. Gehen Sie im Navigationsmenü (☰) zu APIs & Services > Library.
  2. Suchen Sie nach der Actions API und klicken Sie auf Aktivieren.

6d464f49c88e70b4

Dienstkonto erstellen

Für die Actions API ist eine Authentifizierung erforderlich. Sie müssen also ein Dienstkonto erstellen, um Anfragen senden zu können. So erstellen und installieren Sie einen Dienstkontoschlüssel für die Actions API:

  1. Gehen Sie im Navigationsmenü der Google Cloud Console (☰) zu APIs & Services & gt; Anmeldedaten.
  2. Klicken Sie auf Anmeldedaten erstellen und Dienstkonto.
  3. Wählen Sie im Drop-down-Menü Dienstkonto die Option Neues Dienstkonto aus.
  4. Geben Sie die folgenden Informationen ein:
  • Name des Dienstkontos: service-account
  • Rolle: Projekt &Inhaber
  • Dienstkonto-ID: service-account (gefolgt von @<project_id>.iam.gserviceaccount.com)
  • Schlüsseltyp: JSON
  1. Klicke auf Erstellen.
  2. Verschieben Sie die heruntergeladene JSON-Datei in das Verzeichnis /user-engagement-codelab/start/functions/ Ihres Projekts.
  3. Benennen Sie die JSON-Datei in service-account.json um.

d9bd79d35691de3a.png

Firestore aktivieren

Damit Sie Benachrichtigungen außerhalb der Unterhaltung senden können, benötigen Sie eine Möglichkeit, Nutzer-IDs zu speichern, auf die im Benachrichtigungscode verwiesen werden kann. In diesem Beispiel verwenden wir eine Firestore-Datenbank, um die User-IDs abonnierter Nutzer zu speichern.

So erstellen Sie eine Firestore-Datenbank für Ihre Aktion:

  1. Wählen Sie in der Firebase Console den Namen Ihres Actions-Projekts aus.
  2. Gehen Sie im linken Navigationsbereich zu Entwicklung &Datenbank und klicken Sie auf Datenbank erstellen.
  3. Wählen Sie Im Testmodus starten aus.
  4. Klicken Sie auf Aktivieren.

6dfc386413954caa

Dialogflow einrichten

So erstellen Sie den Push-Benachrichtigungs-Opt-in in der Dialogflow-Konsole:

Nutzer auffordern, ein Abo abzuschließen

  1. Richte einen neuen Intent ein, mit dem der Nutzer aufgefordert wird, Push-Benachrichtigungen für abgesagte Kurse zu abonnieren. Klicken Sie in der Dialogflow-Konsole links neben Intents auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Setup Push Notifications“ an.
  3. Fügen Sie im Abschnitt Trainingsphrasen die folgenden Nutzerausdrücke hinzu:
  • Subscribe to notifications
  • Send notification
  • Notify me
  • Send class notifications
  • Cancelled notifications
  1. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  2. Klicken Sie oben auf der Seite auf Speichern.

3d99bc41d0492552.png

Entscheidung des Nutzers treffen

  1. Neuen Intent für die Antwort des Nutzers auf die Push-Benachrichtigungen bei Push-Benachrichtigungen einrichten. Klicken Sie neben Intents in der linken Navigationsleiste auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Confirm Push Notifications“ an.
  3. Fügen Sie im Abschnitt Ereignisse actions_intent_PERMISSION hinzu. Dieses Dialogflow-Ereignis wird dadurch ausgelöst, dass der Nutzer den Abo-Vorgang für Push-Benachrichtigungen beendet hat, unabhängig davon, ob er den Vorgang beendet hat oder nicht.
  4. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  5. Klicken Sie oben auf der Seite auf Speichern.

d37f550c5e07cb73

Push-Benachrichtigung verarbeiten

Sie können Push-Benachrichtigungen mit einem bestimmten Intent verknüpfen, sodass Nutzer, die auf die Push-Benachrichtigung tippen, direkt in Ihrer Aktion mit diesem Intent verknüpft sind. Fügen Sie in diesem Beispiel einen neuen Intent für Push-Benachrichtigungen hinzu, der Details zu abgebrochenen Kursen enthält.

So fügen Sie einen Intent hinzu, der vom Nutzer ausgelöst wird, der auf eine Push-Benachrichtigung tippt:

  1. Klicken Sie in der Dialogflow-Konsole links neben Intents auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Class Canceled“ an.
  3. Fügen Sie im Abschnitt Trainingsphrasen Cancelations als Nutzerausdruck hinzu.
  4. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  5. Klicken Sie oben auf der Seite auf Speichern.

940379556f559631

Testbenachrichtigungen während einer Unterhaltung senden

In der Produktion sollten Sie ein Skript unabhängig vom Code für die Auftragsausführung durchführen, der Push-Benachrichtigungen sendet. Erstellen Sie für dieses Beispiel einen Intent, den Sie aufrufen können, um eine Push-Benachrichtigung zu senden, während Sie mit Ihrer Aktion sprechen. Dieser Zweck dient nur zu Debugging-Zwecken. Push-Benachrichtigungen sollten in der Praxis nicht von Ihrer Auftragsausführung verarbeitet oder anderweitig im Rahmen Ihrer Aktion ausgelöst werden.

So erstellen Sie einen Intent zum Testen von Push-Benachrichtigungen:

  1. Richten Sie für Test- und Debugging-Zwecke einen neuen Intent ein, mit dem Sie Push-Benachrichtigungen an abonnierte Nutzer senden können. Klicken Sie in der Dialogflow-Konsole links neben Intents auf die Schaltfläche +, um einen neuen Intent zu erstellen.
  2. Gib den neuen Intent „Test Notification“ an.
  3. Fügen Sie im Abschnitt Trainingsphrasen Test notification als Nutzerausdruck hinzu.
  4. Aktivieren Sie im Abschnitt Fulfillment (Auftragsausführung) die Option Enable webhook call for this Intent (Webhook-Aufruf für diesen Intent aktivieren).
  5. Klicken Sie oben auf der Seite auf Speichern.

6967f5a997643eb8

Push-Benachrichtigungen aktivieren

So aktivieren Sie Push-Benachrichtigungen für den Intent Kurs abgesagt:

  1. Klicken Sie in der Navigationsleiste der Dialogflow-Konsole auf Integrations (Integrationen).
  2. Klicken Sie auf der Karte Google Assistant auf Integration Settings.
  3. Fügen Sie Classcanceled als Impliziter Aufruf hinzu. Dieser Schritt ist erforderlich, damit Dialogflow erkennen kann, dass Nutzer Ihre Unterhaltung mit der Absicht Abgebrochene Kurse starten können, indem sie auf eine Push-Benachrichtigung tippen.
  4. Klicken Sie auf Schließen.

1ac725231ed279a1

  1. Klicken Sie in der Aktionen-Konsole auf den Tab Entwickeln und wählen Sie in der linken Navigationsleiste Aktionen aus.
  2. Klicken Sie in der Liste Aktionen auf Abgebrochen.
  3. Aktivieren Sie im Bereich Nutzer-Engagement die Option Möchtest du Push-Benachrichtigungen senden?.
  4. Legen Sie einen beschreibenden Inhaltstitel fest, der die Push-Benachrichtigung beschreibt. Der Kontext lautet „" Ist es in Ordnung, wenn ich Push-Benachrichtigungen für CDN sendet? Vergewissere dich also, dass dein Titel sowohl beschreibend als auch akustisch klingt, wenn er vorgelesen wird. Legen Sie für dieses Beispiel den Inhaltstitel auf class cancelations fest.
  5. Klicken Sie oben auf der Seite auf Speichern.

4304c7cd575f6de3.pngs

Auftragsausführung ausführen

Führen Sie die folgenden Schritte aus, um die Auftragsausführung in Ihrem Webhook zu implementieren:

Abhängigkeiten laden

b2f84ff91b0e1396 Aktualisiere in der Datei index.js die Funktion require(), um das Paket UpdatePermission aus dem Paket actions-on-google hinzuzufügen, damit deine Importe so aussehen:

index.js

const {
  dialogflow,
  Suggestions,
  RegisterUpdate,
  UpdatePermission,
} = require('actions-on-google');

Vorschläge-Chips aktualisieren

b2f84ff91b0e1396 Füge der Liste mit Vorschlägen-Chip-Titeln in der Datei index.js einen NOTIFICATIONS-Eintrag hinzu, damit deine Suggestion-Definition so aussieht:

index.js

// Suggestion chip titles
const Suggestion = {
  HOURS: 'Ask about hours',
  CLASSES: 'Learn about classes',
  DAILY: 'Send daily reminders',
  NOTIFICATIONS: 'Get notifications',
};

Neue Importe einrichten

Fügen Sie das Paket firebase-admin hinzu und fügen Sie Konstanten für die in der Datenbank gespeicherten Felder hinzu, um eine Verbindung zu Ihrer Firestore-Datenbank herzustellen. Importieren Sie außerdem die Pakete google-auth-library und request, um die Authentifizierung und Anfragen an die Actions API zu verarbeiten.

b2f84ff91b0e1396 Fügen Sie in der Datei index.js den folgenden Code in Ihre Importe ein:

index.js

// Firebase admin import
const admin = require('firebase-admin');

// Initialize Firestore
admin.initializeApp();
const db = admin.firestore();

// Firestore constants
const FirestoreNames = {
 INTENT: 'intent',
 USER_ID: 'userId',
 USERS: 'users',
};

// Actions API authentication imports
const {auth} = require('google-auth-library');
const request = require('request');

Das Einrichten von Benachrichtigungen über Kurskündigungen anbieten

b2f84ff91b0e1396 Ersetzen Sie in der Datei index.js den folgenden Code:

index.js

// Class list intent handler
app.intent('Class List', (conv, {day}) => {
  if (!day) {
    day = DAYS[new Date().getDay()];
  }
  const classes =
  [...new Set(schedule.days[day].map((d) => `${d.name} at ${d.startTime}`))]
  .join(', ');
  let classesMessage = `On ${day} we offer the following classes: ${classes}. `;
  // If the user started the conversation from the context of a daily update,
  // the conv's arguments will contain an 'UPDATES' section.
  let engagement = conv.arguments.get('UPDATES');
  // Check the conv arguments to tailor the conversation based on the context.
  if (engagement) {
    classesMessage += `Hope to see you soon at Action Gym!`;
    conv.close(classesMessage);
  } else {
    classesMessage += `Would you like me to send you daily reminders of upcoming classes, or can I help you with anything else?`;
    conv.ask(classesMessage);
    if (conv.screen) {
      conv.ask(new Suggestions([Suggestion.DAILY, Suggestion.HOURS]));
    };
  };
});

damit:

index.js

// Class list intent handler
app.intent('Class List', (conv, {day}) => {
  if (!day) {
    day = DAYS[new Date().getDay()];
  }
  const classes =
  [...new Set(schedule.days[day].map((d) => `${d.name} at ${d.startTime}`))]
  .join(', ');
  let classesMessage = `On ${day} we offer the following classes: ${classes}. `;
  // If the user started the conversation from the context of a daily update,
  // the conv's arguments will contain an 'UPDATES' section.
  let engagement = conv.arguments.get('UPDATES');
  // Check the conv arguments to tailor the conversation based on the context.
  if (engagement) {
    classesMessage += `Hope to see you soon at Action Gym!`;
    conv.close(classesMessage);
  } else {
    classesMessage += `Would you like to receive daily reminders of upcoming classes, subscribe to notifications about cancelations, or can I help you with anything else?`;
    conv.ask(classesMessage);
    if (conv.screen) {
      conv.ask(new Suggestions([Suggestion.DAILY, Suggestion.NOTIFICATIONS,
Suggestion.HOURS]));
    };
  };
});

Auftragsausführung für neue Intents hinzufügen

Wenn der Nutzer angibt, dass er Push-Benachrichtigungen abonnieren möchte, rufe den Assistenten UpdatePermission auf, um die Berechtigung beim Nutzer anzufordern. Wenn diese Aktion erfolgreich funktioniert, wird das Argument PERMISSION zu den Argumenten des conv-Objekts hinzugefügt. Sie können sie prüfen, um die Unterhaltung zu pivotieren.

Wenn Sie die Nutzerberechtigung haben, verwenden Sie die User-ID aus den Argumenten des conv-Objekts und speichern Sie sie in Ihrer Datenbank. Du schickst diese User-ID später an die Actions API. So kann Assistant bestimmen, wer die Benachrichtigung erhält.

Fügen Sie als Nächstes die Auftragsausführung für den Intent Class Canceled hinzu, der durch Tippen auf die Push-Benachrichtigung ausgelöst wird. In diesem Beispiel ist Ihre Antwort ein Platzhalter-String. In einer produktionsreifen Version dieser Aktion liefert Ihr Benachrichtigungsskript jedoch dynamischere Informationen darüber, welche Klasse storniert wurde.

b2f84ff91b0e1396 Füge in der Datei index.js den folgenden Code hinzu:

index.js

// Call the User Information helper for permission to send push notifications
app.intent('Setup Push Notifications', (conv) => {
 conv.ask('Update permission for setting up push notifications');
 conv.ask(new UpdatePermission({intent: 'Class Canceled'}));
});

// Handle opt-in or rejection of push notifications
app.intent('Confirm Push Notifications', (conv) => {
 if (conv.arguments.get('PERMISSION')) {
   let userId = conv.arguments.get('UPDATES_USER_ID');
   if (!userId) {
     userId = conv.request.conversation.conversationId;
   }
   // Add the current conversation ID and the notification's
   // target intent to the Firestore database.
   return db.collection(FirestoreNames.USERS)
   .add({
     [FirestoreNames.INTENT]: 'Class Canceled',
     [FirestoreNames.USER_ID]: userId,
   })
   .then(() => {
     conv.ask(`Great, I'll notify you whenever there's a class cancelation. ` +
     'Can I help you with anything else?');
   });
 } else {
   conv.ask(`Okay, I won't send you notifications about class cancelations. ` +
     'Can I help you with anything else?');
 }
 if (conv.screen) {
    conv.ask(new Suggestions([Suggestion.CLASSES, Suggestion.HOURS]));
  }
});

// Intent triggered by tapping the push notification
app.intent('Class Canceled', (conv) => {
 conv.ask('Classname at classtime has been canceled.');
});

Testbenachrichtigungen hinzufügen

Wenn Sie eine Push-Benachrichtigung an einen Nutzer senden möchten, senden Sie eine POST-Anfrage mit der Nutzer-ID, dem Titel der Benachrichtigung und dem Ziel-Intent an die Actions API. In diesem Beispiel wird durch das Auslösen der Testbenachrichtigungsabsicht Ihre Firestore-Datenbank iteriert und eine Push-Benachrichtigung an alle Nutzer gesendet, die Benachrichtigungen abonniert haben.

Denken Sie daran, dass Sie in diesem Beispiel den Code, der die Push-Benachrichtigung sendet, in die Webhook-Ausführung aufnehmen und diesen Code durch Aufrufen eines Test-Intents in der Unterhaltung auslösen. Unter „Aktionen“, die Sie veröffentlichen möchten, muss der Push-Benachrichtigungscode in einem separaten Skript enthalten sein.

b2f84ff91b0e1396 Füge in der Datei index.js den folgenden Code hinzu:

index.js

// Debug intent to trigger a test push notification
app.intent('Test Notification', (conv) => {
 // Use the Actions API to send a Google Assistant push notification.
 let client = auth.fromJSON(require('./service-account.json'));
 client.scopes = ['https://www.googleapis.com/auth/actions.fulfillment.conversation'];
 let notification = {
   userNotification: {
     title: 'Test Notification from Action Gym',
   },
   target: {},
 };
 client.authorize((err, tokens) => {
   if (err) {
     throw new Error(`Auth error: ${err}`);
   }
   // Iterate through Firestore and send push notifications to every user
   // who's currently opted in to canceled class notifications.
   db.collection(FirestoreNames.USERS)
       .where(FirestoreNames.INTENT, '==', 'Class Canceled')
       .get()
       .then((querySnapshot) => {
         querySnapshot.forEach((user) => {
           notification.target = {
             userId: user.get(FirestoreNames.USER_ID),
             intent: user.get(FirestoreNames.INTENT),
           };
           request.post('https://actions.googleapis.com/v2/conversations:send', {
             'auth': {
               'bearer': tokens.access_token,
             },
             'json': true,
             'body': {'customPushMessage': notification, 'isInSandbox': true},
           }, (err, httpResponse, body) => {
             if (err) {
               throw new Error(`API request error: ${err}`);
             }
             console.log(`${httpResponse.statusCode}: ` +
               `${httpResponse.statusMessage}`);
             console.log(JSON.stringify(body));
           });
         });
       })
       .catch((error) => {
         throw new Error(`Firestore query error: ${error}`);
       });
 });
 conv.ask('A notification has been sent to all subscribed users.');
});

Push-Benachrichtigungen testen

Führen Sie im Terminal den folgenden Befehl aus, um den aktualisierten Webhook-Code in Firebase bereitzustellen:

firebase deploy

So testen Sie Benachrichtigungen im Actions-Simulator:

  1. Rufen Sie in der Actions Console den Tab Test auf.
  2. Geben Sie in das Feld Eingabe Talk to my test app ein und drücken Sie die Eingabetaste.
  3. Geben Sie Learn about classes ein und drücken Sie die Eingabetaste.
  4. Geben Sie Get notifications ein und drücken Sie die Eingabetaste.
  5. Wenn du deine Aktion zum Senden von Push-Benachrichtigungen noch nicht erteilt hast, gib yes ein und drücke die Eingabetaste.
  6. Geben Sie yes ein und drücken Sie die Eingabetaste. Ihr Google-Konto sollte jetzt Push-Benachrichtigungen für diese Aktion erhalten.

3a8704bdc0bcbb17

  1. Geben Sie no ein und drücken Sie zum Beenden die Eingabetaste.
  2. Geben Sie Talk to my test app ein und drücken Sie die Eingabetaste, um eine neue Unterhaltung zu starten.
  3. Geben Sie Test notification ein und drücken Sie die Eingabetaste.

634dfcb0be8dfdec.png

Innerhalb weniger Minuten erhalten Sie eine Testbenachrichtigung von Action Gym auf Ihrem Mobilgerät. Wenn Sie auf diese Benachrichtigung tippen, gelangen Sie zum Deeplink Intent storniert Ihrer Aktion.

33cbde513c10122e.png

5. Assistant-Verknüpfung erstellen

Bisher haben wir bereits Interaktionsfunktionen erörtert, die Sie implementieren können, damit Nutzer immer wieder zu Ihrer Aktion zurückkehren. Sie sind jedoch auf Nutzer ausgerichtet, die Ihre Aktion entdecken und verwenden.

Sie können einen Assistant-Link erstellen, mit dem Nutzer von Mobilgeräten direkt mit Ihrer Aktion in Assistant verknüpft werden. Da ein Assistant-Link ein standardmäßiger Hyperlink ist, können Sie ihn auf einer Website oder in beliebigem Webmarketingmaterial einfügen, z. B. in einem Blog oder Beitrag in sozialen Medien.

In diesem Schritt erfahren Sie, was ein Assistant-Link ist, wie Sie einen für die Begrüßungs-Intent der Aktion erstellen und wie Sie ihn einer einfachen Website zum Testen hinzufügen.

Wie sprechen Sie Nutzer an?

Es kann schwierig sein, Nutzer zum ersten Mal zu einer Aktion zu bewegen, insbesondere wenn sie Ihre Aktion in Assistant explizit aufrufen müssen. Durch einen Assistant-Link werden Nutzer direkter zur Aktion weitergeleitet. Wenn ein Nutzer auf einem Gerät mit integriertem Assistant deinem Assistant-Link folgt, wird er direkt zu deiner Aktion weitergeleitet. Wenn ein Nutzer Ihren Link auf einem Nicht-Mobilgerät oder einem anderen Gerät öffnet, das Assistant nicht unterstützt, wird er weiterhin zu Ihrem Aktionenverzeichnis weitergeleitet, sofern er veröffentlicht wurde. So kann der Link die Aktion bei diesen Nutzern vermarkten.

Assistant-Links können dabei sehr nützlich sein. Daher sollten Sie sie erstellen, wenn Sie über Ihre Website oder soziale Medien für Ihre Aktion werben möchten. Beachte vor dem Erstellen und Verteilen eines Assistant-Links die folgenden Tipps:

  • Assistant-Links funktionieren nur, wenn Ihre Aktion veröffentlicht wurde. Wenn sich Ihr Projekt im Entwurfsstatus befindet, funktioniert der Link nur auf Ihren eigenen Geräten. Alle anderen werden auf eine 404-Seite im Verzeichnis „Aktionen“ weitergeleitet.
  • Sie können Nutzern erlauben, vor der Veröffentlichung einen Assistant-Link zu testen. Führen Sie dazu Ihre Aktion in einer Alpha- oder Beta-Umgebung aus. Hinweis: Nur Nutzer, die am Alpha- oder Betatest teilnehmen, können den Assistant-Link testen.
  • Prüfen Sie, ob der Ziel-Intent für Ihren Assistant-Link bei neuen Nutzern einen guten ersten Eindruck hinterlässt. Der Begrüßungs-Intent ist die Standardzielgruppe für einen Assistant-Link, da er deine Aufgaben bereits sollte

So erstellen Sie einen Assistant-Link für den Willkommens-Intent:

  1. Klicken Sie in der Aktionen-Konsole auf den Tab Entwickeln und wählen Sie in der linken Navigationsleiste Aktionen aus.
  2. Klicken Sie in der Liste Actions (Aktionen) auf actions.intent.MAIN.
  3. Klicken Sie im Abschnitt Links auf die Option Soll die URL für diese Aktion aktiviert werden?.
  4. Lege einen aussagekräftigen Linktitel fest, der deine Aktion beschreibt. Formuliere den Titel als einfaches Substantiv-Substantiv, das die Aktionen beschreibt, die der Nutzer mit deiner Aktion ausführen kann. In diesem Beispiel setzen Sie den Linktitel auf learn about Action Gym.
  5. Kopieren Sie das HTML-Snippet unten auf dieser Seite und speichern Sie es für später.
  6. Klicken Sie oben auf der Seite auf Speichern.

55341b8102b71eab.pngs

Testwebsite bereitstellen

Wenn Sie Ihre Assistant-Verknüpfung testen möchten, können Sie mit Firebase-Tools eine Testwebsite neben Ihrer Auftragsausführung bereitstellen. Für dieses Beispiel haben wir bereits eine einfache Testwebsite erstellt. Du musst nur deinen Assistant-Link hinzufügen.

Gehen Sie zum Verzeichnis /user-engagement-codelab-nodejs/start/public/ der Auftragsausführung und öffnen Sie die Datei index.html in einem Texteditor.

b2f84ff91b0e1396 Füge in der Datei index.html dein Assistant-Link-HTML-Snippet in das Body-Element ein. Die Datei sollte schließlich so aussehen:

index.html

<body>
    <p>
     <a href="https://assistant.google.com/services/invoke/uid/000000efb5f2fd97">🅖 Ask my test app to learn about Action Gym
     </a>
    </p>
</body>

Führen Sie im Terminal den folgenden Befehl aus, um Ihre Testwebsite in Firebase bereitzustellen:

firebase deploy

Notieren Sie sich nach der Ausführung des Bereitstellungsbefehls die Hosting URL in der Ausgabe.

b01e8d322fb5d623.pngs

Wenn du auf deinem Mobilgerät diese URL im Webbrowser aufrufen möchtest, solltest du den Assistant-Link auf deiner Testwebsite sehen. Wenn du auf diesem Mobilgerät auf diesen Link klickst, wirst du zur Willkommensabsicht von Assistant in Assistant weitergeleitet.

599845d647f5b624

Du kannst auch in einem Desktop-Browser zur Hosting-URL gehen. Dies sollte zu einer 404-Seite im Assistant-Verzeichnis führen, da deine Aktion nicht veröffentlicht wird.

6. Weitere Informationen

Glückwunsch!

Du hast nun gelernt, wie wichtig Nutzerinteraktionen bei der Entwicklung von Aktionen sind, welche Funktionen für Nutzerinteraktionen auf der Plattform verfügbar sind und wie du jeder Funktion eine Aktion hinzufügen kannst.

Zusätzliche Lernressourcen

Weitere Informationen zu Nutzerinteraktionen für Ihre Aktion finden Sie hier:

Folgen Sie uns auf Twitter @ActionsOnGoogle, um über die neuesten Ankündigungen auf dem Laufenden zu bleiben, und twittern Sie an #AoGDevs, um anderen von Ihren Erfahrungen zu erzählen!

Feedback-Umfrage

Bitte füllen Sie dieses Formular aus, um uns Feedback zu geben.