Aktionen definieren (Dialogflow)

Aktionen sind Einstiegspunkte in Ihre App, die den Aufruf und die Auffindbarkeit definieren für Ihre App. Aktionen werden in einer JSON-Datei deklariert, die als Aktionspaket bezeichnet wird. die Sie später in Ihr Entwicklerprojekt hochladen, reiche dein Actions-Projekt zur Genehmigung ein. Ein Aktionspaket ist eine JSON-Datei, definiert die Aktionen in Ihrem Actions-Projekt.

Um Aktionen in Ihrem Aktionspaket zu definieren, erstellen Sie einen Intent, der festlegt, wie die Aktion aufgerufen wird, und den entsprechenden Auftragsausführungsendpunkt, wenn die Intent ausgelöst. Sie können die folgenden Arten von Aktionen erstellen:

  • Standardaktion:Jedes Actions-Projekt muss einen Begrüßungs-Intent haben, der agiert. als Einstiegspunkt für Nutzer zum Starten von Unterhaltungen. Der Begrüßungs-Intent ist ausgelöst, wenn Nutzer explizit eine Aktion durch Ausgeben des Namens aufrufen (für z. B. „Hey Google, sprich mit ExampleAction“). Dieser Begrüßungs-Intent wird mit den Intent-Namen actions.intent.MAIN.
  • Zusätzliche Aktionen für Deeplinks: Sie können zusätzliche Aktionen in mit den von dir selbst definierten Intents. Damit können Nutzende Zum Aufrufen bestimmter Funktionen, indem ein Aktionsname zusammen mit einem Intent genannt wird Beispiel: „Hey Google, sprich mit ExampleAction, um Schuhe zu finden.“

Weitere Informationen dazu finden Sie unter Intents und Aufrufe. funktionieren diese Aufrufmodelle.

Standardaktion definieren

Jedes Aktionspaket darf nur einen Intent haben, der den actions.intent.MAIN Intent. Dieser Intent wird ausgelöst, wenn Nutzer Ihren Aktion nach Name (z. B. „Hey Google, sprich mit ExampleAction“).

Um eine Boilerplate-Aktionspaketdatei mit dem Namen action.json zu generieren, folgenden Schritten:

  1. Laden Sie die gactions-Befehlszeile herunter.
  2. Erstellen Sie ein lokales Verzeichnis für die Quelldateien Ihres Action-Projekts.
  3. Führen Sie im Terminal die folgenden Befehle aus:

    $ cd PROJECT_DIRECTORY
    $ gactions init

Nachdem die Aktionspaketdatei erstellt wurde, ersetzen Sie den Platzhalterinhalt durch Ihren Werte. Hier ein Beispiel für action.json mit Änderungen für ExampleAction:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}

Zusätzliche Aktionen definieren

Du kannst zusätzliche Aktionen bereitstellen, die als Einstiegspunkte dienen. Damit können Nutzer ihre Absicht deutlicher machen, indem sie mehr Details dazu angeben können, was Sie tun möchten. Beispiel: „Hey Google, sprich mit ExampleAction, um mir ein paar Schuhe.“)

So definieren Sie zusätzliche Aktionen:

  1. Geben Sie im Array actions eine Aktion für jeden Einstiegspunkt an.

    Der folgende Code zeigt beispielsweise Aktion, die definiert: <ph type="x-smartling-placeholder">
      </ph>
    • Intent-Name von com.example.ExampleAction.BUY
    • parameters zum Parsen aus der Nutzereingabe, wenn dieser Intent ausgelöst wird. Dies ist nützlich, wenn Sie spezifische Daten aus der Aktionsformulierung benötigen, wenn Sie Nutzer die Aktion aufrufen.
    • queryPatterns, die festlegen, was Nutzer sagen müssen, um den Intent auszulösen. Abfragemuster können Schema.org-Typen enthalten die Parameter zum Parsen definieren.
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
          
  2. Geben Sie die Auftragsausführung für diesen Intent durch Angabe von conversationName an das einem Element im conversations-Objekt entspricht.

    {
      "conversations": {
        "ExampleAction": {
          "name": "ExampleAction",
          "url": "https://www.example.com/ExampleAction"
        }
      }
    }
        

Hier ein Beispiel für ein vollständiges Aktionspaket:

{
  "actions": [
    {
      "description": "Default welcome intent",
      "name": "MAIN",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "actions.intent.MAIN",
        "trigger": {
          "queryPatterns": [
            "talk to ExampleAction"
          ]
        }
      }
    },
    {
      "description": "Direct access",
      "name": "BUY",
      "fulfillment": {
        "conversationName": "ExampleAction"
      },
      "intent": {
        "name": "com.example.ExampleAction.BUY",
        "parameters": [
          {
            "name": "color",
            "type": "org.schema.type.Color"
          }
        ],
        "trigger": {
          "queryPatterns": [
            "find some $org.schema.type.Color:color sneakers",
            "buy some blue suede shoes",
            "get running shoes"
          ]
        }
      }
    }
  ],
  "conversations": {
    "ExampleAction": {
      "name": "ExampleAction",
      "url": "https://www.example.com/ExampleAction"
    }
  },
  "locale": "en"
}