In einem Webhook-Aufruf können Parameterwerte für einen bestimmten Nutzer in Sitzungen im Nutzerspeicher. Deine Aktion kann diese gespeicherten Werte dann später in Prompts und Bedingungen eingeben und der Webhook-Code auf Werte im Nutzerspeicher zugreifen kann für einen bestimmten Nutzer erstellen.
Der Status des Nutzerspeichers wird in einer app.handle()
-Anfrage übergeben und gespeichert.
im Objekt user
.
Daten aus verschiedenen Unterhaltungen lesen und schreiben
Wenn Sie den Nutzerspeicher aktualisieren oder einen neuen Wert festlegen möchten, weisen Sie den Wert dem params
zu
des user
-Objekts in einem Webhook-Aufruf. Im folgenden Beispiel wird festgelegt,
„beispielColor“ zu „Rot“ im Nutzerspeicher:
// Assign color to user storage
app.handle('storeColor', conv => {
let color = 'red';
conv.user.params.exampleColor = color;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED",
"exampleColor": "red"
}
}
}
}
Wenn Sie auf Daten im Nutzerspeicher zugreifen möchten, weisen Sie sie einer Variablen in einem Webhook zu aufrufen. Im folgenden Beispiel wird ein Wert aus „exampleColor“ abgerufen Nutzer Speicherplatz:
// Retrieve color from user storage
app.handle('getStoredColor', conv => {
let color = conv.user.params.exampleColor;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED",
"exampleColor": "red"
}
}
}
}
Wenn Sie einen zuvor gespeicherten Wert löschen möchten, setzen Sie den Wert in einem Webhook-Aufruf auf null
.
Im folgenden Beispiel wird der Wert von „exampleColor“ gelöscht. im Nutzerspeicher:
// Clear color from user storage
app.handle('clearStoredColor', conv => {
conv.user.params.exampleColor = null;
});
{
"responseJson": {
"session": {
"id": "1234567890123456789",
"params": {}
},
"prompt": {
"override": false
},
"user": {
"locale": "en-US",
"params": {
"verificationStatus": "VERIFIED"
}
}
}
}
In Prompts auf gespeicherte Werte verweisen
Sie können in einer Prompt auf Werte verweisen, die im Nutzerspeicher gespeichert sind. Um auf die
$user.params.PARAMETER_NAME
-Syntax, wobei
PARAMETER_NAME
ist der im Webhook angegebene Name, wenn der
festgelegt wurde.
Beispiel: Sie haben zuvor einen Farbwert im Nutzerspeicher als
Parameter exampleColor
. Um auf diesen Wert in einer Aufforderung zuzugreifen, geben Sie an,
Wert mit $user.params.exampleColor
:
{
"candidates": [{
"first_simple": {
"variants": [{
"speech": "Your favorite color is $user.params.exampleColor."
}]
}
}]
}
Auf gespeicherte Werte in Bedingungen verweisen
Sie können auch unter Bedingungen auf Werte verweisen, die im Nutzerspeicher gespeichert sind. Bis
auf den Wert verweisen, verwenden Sie user.params.PARAMETER_NAME
-Syntax, wobei PARAMETER_NAME
der Name ist, der in der
Webhooks angegeben werden, wenn der Parameter festgelegt wurde.
Beispiel: Sie haben zuvor einen Farbwert im Nutzerspeicher als
exampleColor
und Sie möchten ihn mit dem Wert „red“ abgleichen. in einem
. In der Bedingung referenzieren Sie den gespeicherten Wert mithilfe von
user.params.exampleColor
Der Bedingungsausdruck sieht dann so aus:
user.params.exampleColor == "red"
Ablauf von Speicherdaten der Nutzer
Bei bestätigten Nutzern laufen die im Nutzerspeicher gespeicherten Daten basierend auf Web- und App-Aktivitäten und können auch von der Aktion selbst gelöscht werden. Bei nicht bestätigten Nutzern löscht Assistant den Inhalt des Nutzerspeichers unter am Ende des Gesprächs.
Actions on Google legt den Bestätigungsstatus des Nutzers zu Beginn jedes
basierend auf verschiedenen Indikatoren für den Beginn des Gesprächs. Als
Beispiel: Ein Nutzer, der auf seinem Mobilgerät in Google Assistant angemeldet ist, hat einen
Bestätigungsstatus von VERIFIED
.
Mögliche Gründe für den Bestätigungsstatus eines Nutzers:
GUEST
:
- Der Nutzer hat persönliche Ergebnisse deaktiviert.
- Der Nutzer hat die Web- und App-Aktivitäten. Beachten Sie, dass einige Nutzer haben diese Einstellung möglicherweise auf Domainebene deaktiviert.
- Wenn auf einem Gerät Voice Match aktiviert ist und der Abgleich fehlschlägt oder der Nutzer ohne die Sprachsteuerung zu verwenden (z. B. durch langes Drücken eines Zuhauses mit Nest Gerät).
- Der Nutzer ist nicht angemeldet.
Prüfe immer den Bestätigungsstatus des Nutzers, bevor du Daten für den Nutzer speicherst um Gastnutzer daran zu hindern, mit einer fehlerhaften Funktion zu interagieren. für sie.
Sichtbarkeit für Nutzer
Als Nutzer können Sie die in Ihrem Nutzerspeicher gespeicherten Daten für von Ihnen aufgerufene Aktionen ansehen. Sie können auch Daten aus Ihrem Nutzerspeicher aus einer bestimmten Aktion oder den Dienst daran hindern, sich an Sie zu erinnern.
Um Ihre gespeicherten Daten einzusehen oder zu verhindern, dass sich ein Dienst an Sie erinnert, folgen Sie diesen Schritte:
- Rufen Sie das Assistant-Verzeichnis auf.
- Wählen Sie die Aktion aus, für die Sie Ihren Nutzerspeicher ansehen oder löschen möchten.
- Scrollen Sie auf der Seite nach unten:
<ph type="x-smartling-placeholder">
- </ph>
- Klicken Sie auf [Gespeicherte Daten ansehen], um den Inhalt des Nutzerspeichers zu sehen.
- Klicken Sie auf Zurücksetzen, um die im Nutzerspeicher für den Dienst gespeicherten Daten zurückzusetzen.
- Um in Ihrem Nutzerspeicher gespeicherte Daten zu entfernen und den Dienst zu beenden, sich an Sie erinnern soll, klicken Sie auf Nicht mehr für action_name.