Speicherplatz des Nutzers

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:

Node.js

// Assign color to user storage
app.handle('storeColor', conv => {
  let color = 'red';
  conv.user.params.exampleColor = color;
});
    

JSON

{
  "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:

Node.js

// Retrieve color from user storage
app.handle('getStoredColor', conv => {
  let color = conv.user.params.exampleColor;
});
    

JSON

{
  "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:

Node.js

// Clear color from user storage
app.handle('clearStoredColor', conv => {
  conv.user.params.exampleColor = null;
});
    

JSON

{
  "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:

JSON

{
  "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:

Bedingungssyntax

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:

  1. Rufen Sie das Assistant-Verzeichnis auf.
  2. Wählen Sie die Aktion aus, für die Sie Ihren Nutzerspeicher ansehen oder löschen möchten.
  3. 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.