Działania konwersacyjne zostaną wycofane 13 czerwca 2023 r. Więcej informacji znajdziesz w artykule o zachodzie słońca między rozmowami.

Pamięć użytkownika

Zadbaj o dobrą organizację dzięki kolekcji Zapisuj i kategoryzuj treści zgodnie ze swoimi preferencjami.

W wywołaniu webhooka możesz przechowywać wartości parametrów określonego użytkownika w różnych sesjach w pamięci użytkownika. Akcja może wykorzystać te zapisane wartości później w warunkach i warunkach, a w razie potrzeby kod webhooka może uzyskać dostęp do wartości w pamięci użytkownika dla określonego użytkownika.

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

Odczytywanie i zapisywanie danych we wszystkich rozmowach

Aby zaktualizować lub ustawić nową wartość w miejscu na dane użytkownika, przypisz wartość w polu params obiektu user w wywołaniu webhooka. W tym przykładzie ustawiamy „exampleColor” na „red” 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żytkownika, przypisz je do zmiennej w wywołaniu webhooka. Ten przykład pobiera wartość z parametru „exampleColor” w miejscu na dane użytkownika:

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ąć zapisaną wcześniej wartość, ustaw tę wartość na null w wywołaniu webhooka. Poniższy przykład pokazuje wartość parametru „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łuj się do przechowywanych wartości w pytaniach

W potwierdzeniu możesz odwoływać się do wartości przechowywanych w pamięci użytkownika. Aby odwołać się do tej wartości, użyj składni $user.params.PARAMETER_NAME, gdzie PARAMETER_NAME to nazwa podana w webhooku po ustawieniu parametru.

Na przykład wcześniej kolor pliku został zapisany w pamięci użytkownika jako parametr exampleColor. Aby uzyskać dostęp do tej wartości w potwierdzeniu, odwołuj się do niej w narzędziu $user.params.exampleColor:

JSON

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

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

Możesz też odwoływać się do wartości przechowywanych w pamięci użytkownika w warunkach. Aby odwołać się do tej wartości, użyj składni user.params.PARAMETER_NAME, gdzie PARAMETER_NAME to nazwa podana w webhooku po ustawieniu parametru.

Na przykład wcześniej kolor koloru w magazynie użytkownika zapisany jako parametr exampleColor i chcesz go dopasować do wartości „czerwony” w warunku. W warunku musisz odwoływać się do przechowywanej wartości za pomocą user.params.exampleColor. Wyrażenie warunku będzie wyglądać tak:

Składnia warunków

user.params.exampleColor == "red"
    

Wygaśnięcie danych użytkownika

W przypadku zweryfikowanych użytkowników dane przechowywane w pamięci tracą ważność zgodnie z ustawieniami Aktywność w internecie i aplikacjach i mogą zostać wyczyszczone przez samą czynność. W przypadku użytkowników, którzy nie zostaną zweryfikowani, Asystent usunie zawartość pamięci użytkowników po zakończeniu rozmowy.

Actions on Google ustawia stan weryfikacji użytkownika na początku każdej rozmowy na podstawie różnych wskaźników po rozpoczęciu rozmowy. Na przykład stan użytkownika zalogowanego w Asystencie Google na urządzeniu mobilnym to VERIFIED.

Oto możliwe powody, dla których użytkownik otrzyma stan weryfikacji GUEST:

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

Zawsze sprawdzaj stan weryfikacji użytkownika przed zapisaniem danych z wykorzystaniem miejsca na dane, aby uniemożliwić gościom korzystanie z funkcji, która nie zadziała.

Widoczność dla użytkowników

Jako użytkownik możesz wyświetlać dane przechowywane w magazynie użytkowników dotyczące wywołanych przez Ciebie działań. Możesz też usunąć dane przechowywane w pamięci użytkownika z konkretnej czynności lub zatrzymać zapamiętywanie Cię przez usługę.

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

  1. Otwórz katalog Asystenta.
  2. Znajdź i wybierz działanie, w przypadku którego chcesz wyświetlić lub wyczyścić pamięć użytkownika.
  3. Przewiń na dół strony:
    • Aby wyświetlić zawartość miejsca na dane użytkownika, kliknij [Wyświetl zapisane dane].
    • Aby zresetować dane przechowywane w usłudze, kliknij Resetuj.
    • Aby usunąć dane przechowywane w pamięci użytkownika i wyłączyć zapamiętywanie przez usługę, kliknij Nie zapisuj nazwa_działania.