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.jsJSON
// 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"
     
}
   
}
 
}
}
   

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.jsJSON
// 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"
     
}
   
}
 
}
}
   

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.jsJSON
// 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"
     
}
   
}
 
}
}
   

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:

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.