In einem Actions-Projekt werden alle Ihre Aktionen in einem einzigen Container zusammengefasst. Du veröffentlichst dieses Projekt für Actions on Google, damit Google Assistant deine Unterhaltungen finden und aufrufen kann.
Sie verwenden die folgenden untergeordneten Komponenten, um Ihr Actions-Projekt zu erstellen:
Mit Einstellungen und Ressourcen werden Projektmetadaten und Ressourcen wie Projektsymbole definiert. Google verwendet diese Informationen, um deine Aktionen im Assistant-Verzeichnis zu veröffentlichen, damit Nutzer sie finden und aufrufen können.
Intents stellen eine auszuführende Aufgabe dar, z. B. eine Nutzereingabe oder ein Systemereignis, das verarbeitet werden muss. Die häufigste Art von Intent, den Sie verwenden, sind Nutzer-Intents. Mit diesen Intents können Sie Trainingsformulierungen deklarieren, die von der NLU-Engine (Natural Language Understanding) automatisch um viel weitere ähnliche Wortgruppen erweitert werden. Die NLU verwendet die Aggregation dieser Formulierungen, um ein Sprachmodell zu trainieren, mit dem Assistant Nutzereingaben anpasst. Wenn während einer Unterhaltung eine Nutzereingabe mit dem Sprachmodell des Intents übereinstimmt, sendet die Assistant-Laufzeit den Intent an Ihre Aktion, damit sie ihn verarbeiten und dem Nutzer antworten kann.
Mit Typen können Sie strukturierte Daten aus Nutzereingaben extrahieren. Durch das Annotieren von Trainingsformulierungen mit Typen kann die NLU relevante, strukturierte Daten für Sie extrahieren, sodass Sie keine offenen Eingaben parsen müssen.
Szenen verarbeiten Intents und sind die wichtigsten Logik-Executors für Ihre Aktionen. Sie können Slots füllen, bedingte Logik bewerten, Aufforderungen an den Nutzer zurückgeben und sogar externe Webdienste zur Ausführung der Geschäftslogik aufrufen. In Kombination mit Intents bieten Ihnen Szenen eine leistungsstarke Möglichkeit, bestimmte Nutzereingaben oder Systemereignisse zu erkennen und eine entsprechende Logik auszuführen.
Aufforderungen definieren statische oder dynamische Antworten, mit denen Sie Nutzern antworten.
Mit Webhooks können Sie zusätzliche Arbeit an Webdienste (Auftragsausführung) delegieren, z. B. das Validieren von Daten oder das Generieren von Eingabeaufforderungen. Ihre Aktionen kommunizieren über ein JSON-basiertes Webhook-Protokoll mit der Auftragsausführung.
Mit Interactive Canvas können Sie umfassende und immersive Erfahrungen mit Web-Apps erstellen, die HTML, CSS und JavaScript verwenden.
Projekt erstellen
Du musst ein Projekt in der Actions Console erstellen, bevor du es für Google Assistant entwickeln kannst. So erstellst du ein Projekt:
- Rufen Sie die Actions Console auf.
- Klicken Sie auf Neues Projekt.
- Geben Sie einen Namen für das Projekt ein und klicken Sie auf Projekt erstellen.
- Wählen Sie im Bildschirm Welche Art von Aktion möchten Sie erstellen? eine Kategorie aus, die am besten zu Ihrem Projekt passt, und klicken Sie auf Weiter.
- Wählen Sie im Bildschirm Wie möchten Sie den Build erstellen? eine Methode für die Erstellung aus und klicken Sie auf Mit der Erstellung beginnen. Sie können beispielsweise mit einem leeren Projekt oder mit einem Beispiel beginnen.
Lokales Actions SDK-Projekt erstellen
Nachdem du ein Actions-Projekt in der Actions Console erstellt hast, kannst du ein Projekt in deiner lokalen Entwicklungsumgebung initialisieren.
So initialisieren Sie ein Actions SDK-Projekt aus einem vorhandenen Actions-Projekt:
- Erstellen Sie in Ihrem lokalen Dateisystem ein leeres Verzeichnis für das Actions-Projekt.
- Erstellen Sie in diesem leeren Verzeichnis ein
sdk
-Verzeichnis. - Ändern Sie Ihr Arbeitsverzeichnis in das Verzeichnis
sdk
in Ihrem Terminal.
Mit einem leeren Projekt beginnen
Wenn Sie mit dem leeren Projekt beginnen möchten, das Sie gerade in der Console erstellt haben, führen Sie gactions pull --project-id <my-project-id>
aus.
$ mkdir myAction $ cd myAction $ mkdir sdk $ cd sdk $ gactions pull --project-id my-project-id Pulling your project files from Draft for a project id: "my-project-id" ✔ Done. You should see the files written in path/to/myAction/sdk
Mit einem Beispielprojekt beginnen
Wenn Sie mit einem Beispielprojekt beginnen möchten, führen Sie gactions init <sample name>
aus.
$ mkdir actions-test $ cd actions-test $ mkdir sdk $ cd sdk $ gactions init question Writing sample files for question. ✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.
Projektinformationen definieren
Die Einstellungen und Ressourcen Ihres Projekts definieren Informationen über Ihr Projekt, z. B. Feature- und Oberflächenunterstützung, unterstützte Sprachen, Anzeigename, Beschreibung, Logos und mehr. In der folgenden Tabelle werden die wichtigsten Einstellungen und Ressourcen beschrieben, die Sie bereitstellen. Actions on Google verwendet diese Informationen, um Ihr Projekt im Assistant-Verzeichnis bereitzustellen und zu veröffentlichen.
Name | Beschreibung |
---|---|
Verzeichnisdaten | Stellt Informationen bereit, damit Actions on Google dein Projekt im Assistant-Verzeichnis veröffentlichen kann. Enthält Metadaten und Beschreibungen zu Ihrem Projekt sowie Bildressourcen für Logos und Bannerbilder. |
Geografische Ausrichtung | Konfiguriert die Sprachen, in denen deine Aktionen verfügbar sind. |
Oberflächenfunktionen | Konfiguriert die Oberflächen, auf denen deine Aktionen verfügbar sind. |
Informationen zum Unternehmen | Hier können Sie die Kontaktdaten Ihres Unternehmens angeben. |
Markenverifizierung | Verknüpfe eine Website oder Android-App, die dir gehört, um zusätzliche Vorteile wie reservierte Aufrufnamen und Websiteverknüpfungen in deinen Aktionen zu erhalten. |
Release | Konfiguriert verschiedene Test- und Produktionsreleases für deine Aktion zu Test- und Produktionszwecken. |
Assistant-Verknüpfungen | Du kannst Nutzern erlauben, deine Aktionen über deine Web-Properties aufzurufen. |
So definieren Sie Projektinformationen:
Legen Sie in
sdk/settings/settings.yaml
globale Einstellungen für Ihr Actions-Projekt fest. Unterstützte Werte finden Sie in der Referenzdokumentation zu Einstellungen.Das folgende Snippet zeigt eine Beispieldatei
sdk/settings/settings.yaml
:accountLinking: enableAccountCreation: true linkingType: GOOGLE_SIGN_IN category: GAMES_AND_TRIVIA projectId: my-project-id ...
Definieren Sie in einer
sdk/settings/<locale>/settings.yaml
-Datei Einstellungen, die je nach Sprache des Nutzers variieren können (z. B. Aufrufsätze in verschiedenen Sprachen). Ersetzen Sie dabei locale durch Ihre Zielsprache.Unterstützte Werte finden Sie in der Referenzdokumentation zu LocalizedSettings.
Das folgende Snippet ist ein Beispiel für englische Einstellungen, die in einer
sdk/settings/en/settings.yaml
-Datei definiert werden:localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: https://path/to/large/banner privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: https://path/to/small/logo voice: female_1 ...
Ressourcen hinzufügen
Sie können Ressourcen wie Bilddateien, Audiodateien und Strings in Ihrem Actions-Projekt speichern und mit der systemdefinierten $resources
-Variable in Konfigurationsdateien (z. B. Prompt-Definitionen oder Bedingungen) darauf verweisen.
Projektressourcen werden unter resources/
gespeichert und jedem Ressourcentyp wird ein Ordner im Verzeichnis zugewiesen.
Sie können Ressourcen lokalisieren, indem Sie länderspezifische Ordner im Ordner „Ressourcentyp“ erstellen. So können Sie beispielsweise spanische Versionen Ihrer Strings in resources/strings/es/<filename>.yaml
speichern.
Bilder
Bilddateien werden in resources/images/
gespeichert, auf die Sie mit $resources.images.<name of the image file without file extension>
verweisen können.
Folgende Dateiendungen sind zulässig:
gif
png
jpg
jpeg
Wenn beispielsweise die englische Version des kleinen Logos in resources/images/en/square.png
und die englische Version des großen Banners jeweils in resources/images/en/landscape.jpg
gespeichert wird, wird sdk/settings/en/settings.yaml
aus dem vorherigen Beispiel so:
localizedSettings: developerEmail: developer@developers.com developerName: Developer Name displayName: My Display Name fullDescription: full description of the action largeBannerImage: $resources.images.landscape privacyPolicyUrl: http://path/to/privacy/policy sampleInvocations: - Talk to My Display Name shortDescription: short description of the action smallLogoImage: $resources.images.square voice: female_1 ...
Audiodateien
Audiodateien werden in resources/audio/
gespeichert und Sie können mit $resources.audio.<name of the audio file without file extension>
darauf verweisen.
Folgende Dateiendungen sind zulässig:
mp3
mpeg
So können Sie beispielsweise auf Audioaufnahmen aus Prompts verweisen:
candidates: - first_simple: variants: - speech: your speech response content: media: mediaType: audio mediaObjects: - name: media name description: media description url: $resources.audio.intro
Strings
Strings werden in resources/strings/
als .yaml
-Dateien gespeichert. Jede Datei enthält eine Zuordnung von Stringschlüsseln und zugehörigen Werten, bei denen es sich um einzelne Strings oder Listen von Strings handeln kann. Sie können die Werte mit $resources.strings.<name of the image file without file extension>.<key>
für einzelne Stringwerte oder zum Abrufen eines zufälligen Werts aus einer Liste und mit $resources.strings.<name of the image file without file extension>.<key>.<numerical index>
für einen bestimmten Stringwert in einer Liste referenzieren.
Wenn Sie beispielsweise Ressourcenstrings für die Stringlokalisierung verwenden, könnte sdk/settings/en/settings.yaml
aus dem vorherigen Beispiel so aussehen:
localizedSettings: developerEmail: developer@developers.com developerName: $resources.strings.appinfo.developerName displayName: $resources.strings.appinfo.displayName fullDescription: $resources.strings.appinfo.fullDescription largeBannerImage: $resources.images.landscape privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl sampleInvocations: - $resources.strings.invocations.sample shortDescription: $resources.strings.appinfo.shortDescription smallLogoImage: $resources.images.square voice: female_1 ...
Projekte im Simulator testen
Die Actions Console bietet einen Simulator, in dem du eine Vorschau deiner Aktionen ansehen kannst. Mit dem Simulator können Sie Informationen zur Fehlerbehebung abrufen, Gerätefunktionen festlegen, die Sprache simulieren und vieles mehr.
So testen Sie ein Projekt:
- Führe
gactions deploy preview
aus, um deine Aktion für die Vorschau bereitzustellen und Tests im Simulator zu aktivieren. - Öffnen Sie die URL in der Befehlsausgabe, um auf den Simulator zuzugreifen.
$ gactions deploy preview Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes. Sending configuration files Waiting for server to respond. ✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview