Pamięć użytkownika

W wywołaniu webhooka możesz przechowywać wartości parametrów konkretnego użytkownika w sesji w pamięci użytkownika. Akcja może użyć tych wartości później w prompty i warunki oraz kod webhooka może uzyskać dostęp do wartości w pamięci użytkowników dla konkretnego użytkownika.

Stan pamięci użytkownika jest przekazywany w żądaniu app.handle() i zachowywany w obiekcie user.

Odczytywanie i zapisywanie danych w rozmowach

Aby zaktualizować lub ustawić nową wartość miejsca na dane użytkownika, przypisz ją do funkcji params obiektu user w wywołaniu webhooka. Poniższe przykładowe zestawy „przykładowykolor” na „czerwony” w pamięci użytkownika:

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"
      }
    }
  }
}
    

Aby uzyskać dostęp do danych przechowywanych w pamięci użytkowników, przypisz je do zmiennej w webhooku . Ten przykład pobiera wartość z atrybutu „exampleColor” w użytkowniku pamięć masowa:

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"
      }
    }
  }
}
    

Aby usunąć wcześniej zapisaną wartość, ustaw wartość w wywołaniu webhooka na null. Ten przykład usuwa wartość „exampleColor” w pamięci użytkownika:

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"
      }
    }
  }
}
    

Odwoływać się do przechowywanych wartości w promptach

Wartości zapisane w pamięci użytkownika możesz odwoływać się w prompcie do wartości zapisanych w pamięci użytkownika. Aby odwołać się do wartość, użyj składni $user.params.PARAMETER_NAME, gdzie PARAMETER_NAME to nazwa nadana w webhooku, gdy makro .

Na przykład: wartość koloru była wcześniej przechowywana w pamięci użytkownika jako exampleColor. Aby uzyskać dostęp do tej wartości w prompcie, musisz odwoływać się do niej: używając funkcji $user.params.exampleColor:

JSON

{
  "candidates": [{
    "first_simple": {
      "variants": [{
        "speech": "Your favorite color is $user.params.exampleColor."
      }]
    }
  }]
}
    

Odwoływanie się do przechowywanych wartości w warunkach

W warunkach możesz też odwoływać się do wartości przechowywanych w pamięci użytkownika. Do odwołuje się do wartości, użyj funkcji user.params.PARAMETER_NAME składni, gdzie PARAMETER_NAME to nazwa podana w kluczu webhooka, gdy parametr został ustawiony.

Na przykład: wartość koloru była wcześniej przechowywana w pamięci użytkownika jako exampleColor i chcesz dopasować go do wartości „red” w . W warunku odwołujesz się do wartości przedpłaconej za pomocą funkcji user.params.exampleColor Twoje wyrażenie warunku wygląda tak:

Składnia warunku

user.params.exampleColor == "red"
    

Wygaśnięcie miejsca na dane użytkownika

W przypadku zweryfikowanych użytkowników dane przechowywane w miejscu ich przechowywania wygasają, gdy ich dane Internet i Aktywność w aplikacji, a sama akcja może je usunąć. W przypadku niezweryfikowanych użytkowników Asystent czyści zawartość pamięci użytkowników na na koniec rozmowy.

Actions on Google ustawia stan weryfikacji użytkownika na początku każdego rozmowy na podstawie różnych wskaźników w momencie rozpoczęcia rozmowy. Jako Na przykład użytkownik zalogowany do Asystenta Google na urządzeniu mobilnym ma stan weryfikacji konta VERIFIED.

Oto możliwe powody, dla których stan weryfikacji użytkownika to GUEST:

  • Użytkownik ma wyłączone Twoje wyniki.
  • Użytkownik wyłączył strony internetowe i Aktywność w aplikacjach. Pamiętaj, że niektóre Użytkownicy mogą wyłączyć to ustawienie na poziomie domeny.
  • Jeśli na urządzeniu jest włączona funkcja Voice Match, ale dopasowanie się nie powiedzie lub użytkownik wywoła Asystenta bez użycia głosu (np. przytrzymania na urządzeniu Nest Home) urządzenia).
  • Użytkownik nie jest zalogowany.

Przed zapisaniem danych użytkownika zawsze sprawdzaj stan weryfikacji użytkownika pamięci, aby uniemożliwić gościom wchodzenie w interakcję z funkcją, która nie powiedzie się; dla nich.

Widoczność dla użytkowników

Jako użytkownik możesz wyświetlać dane przechowywane w pamięci użytkownika na potrzeby wywoływanych akcji. Możesz też usunąć dane przechowywane w pamięci użytkownika z konkretnej akcji lub wyłączyć zapamiętywanie Cię przez usługę.

Aby wyświetlić przechowywane dane lub wyłączyć zapamiętywanie Cię przez usługę, wykonaj te czynności: kroki:

  1. Otwórz katalog Asystenta.
  2. Znajdź i wybierz działanie, dla którego chcesz wyświetlić lub wyczyścić pamięć użytkownika.
  3. Przewiń do dołu strony:
    • Aby wyświetlić zawartość miejsca na dane użytkownika, kliknij [Wyświetl zapisane dane].
    • Aby zresetować dane przechowywane w pamięci użytkowników przez usługę, kliknij Resetuj.
    • Aby usunąć dane przechowywane w pamięci użytkownika i zatrzymać działanie usługi Gdy Cię zapamiętuję, kliknij Wyłącz zapamiętywanie mnie przez: action_name.