DialogFlow conv.user.id Устаревший - какие-либо последствия? - PullRequest
0 голосов
/ 01 июня 2018

Аналогично Идентификатор пользователя DialogFlow V2? Я использую идентификатор пользователя из conv.user.id (dialogflow v2), чтобы (анонимно) определить пользователя в моем приложении Dialogflow.Однако я получаю сообщение журнала:

 conv.user.id is *DEPRECATED*: Use conv.user.storage to store data instead 

Означает ли это, что у меня (скоро) больше не будет доступа к идентификатору пользователя?Я понимаю, что могу хранить данные в conv.user.storage, но мне нужен идентификатор, а не хранилище.

Кто-нибудь думает о том, как обеспечить отказоустойчивость?

// Фрагмент кода:

app.intent('Default Welcome Intent', conv => {
  var userID = conv.user.id;
  // do something
});

1 Ответ

0 голосов
/ 01 июня 2018

Идентификация анонимного пользователя устарела и будет официально удалена с 1 июня 2019 года (через год).Таким образом, ваш фрагмент кода начнет давать сбой.

Исправление зависит от того, как и почему вы используете идентификатор, но для самых основных нужд вы можете сделать что-то вроде этого:

  1. Убедитесь, что вы сохранили идентификатор в хранилище пользователя.Если у вас есть - используйте этот идентификатор.

  2. Если у вас нет, сгенерируйте идентификатор (генерация UUID - хороший способ сделать это), используйте его как свой идентификатор и сохранитеэто в userStore для дальнейшего использования.

Код для этого может выглядеть примерно так:

if ('userId' in conv.user.storage) {
  userId = conv.user.storage.userId;
} else {
  // generateUUID is your function to generate ids.
  userId = generateUUID();
  conv.user.storage.userId = userId
}

С другой стороны, вы можете просто планировать использовать Google Sign-In для помощника , который получит вам Google ID пользователя.

РЕДАКТИРОВАТЬ: userId в условии должны быть указаны.

...