사용자 저장용량

웹훅 호출에서 사용자 저장소의 세션 간에 특정 사용자의 매개변수 값을 저장할 수 있습니다. 그러면 작업이 나중에 이러한 저장된 값을 메시지 및 조건에서 사용할 수 있고 웹훅 코드는 필요에 따라 특정 사용자의 사용자 저장소에 있는 값에 액세스할 수 있습니다.

사용자 저장소 상태는 app.handle() 요청으로 전달되며 user 객체에 저장됩니다.

대화에서 데이터 읽기 및 쓰기

사용자 저장소에서 값을 업데이트하거나 새 값을 설정하려면 웹훅 호출에서 user 객체의 params 필드에 값을 할당합니다. 다음 예는 사용자 저장소에서 'exampleColor'를 'red'로 설정합니다.

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

사용자 저장소에 저장된 데이터에 액세스하려면 웹훅 호출의 변수에 할당합니다. 다음 예에서는 사용자 저장소의 'exampleColor'에서 값을 검색합니다.

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

이전에 저장된 값을 지우려면 웹훅 호출에서 값을 null로 설정합니다. 다음 예는 사용자 저장소에서 'exampleColor' 값을 지웁니다.

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

프롬프트 내에서 저장된 값 참조

프롬프트에서 사용자 저장소에 저장된 값을 참조할 수 있습니다. 이 값을 참조하려면 $user.params.PARAMETER_NAME 구문을 사용합니다. 여기서 PARAMETER_NAME는 매개변수가 설정되었을 때 웹훅에 제공된 이름입니다.

예를 들어 이전에는 사용자 저장소에 색상 값을 exampleColor 매개변수로 저장했습니다. 메시지에서 이 값에 액세스하려면 $user.params.exampleColor를 사용하여 해당 값을 참조합니다.

JSON

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

조건 내에서 저장된 값 참조

조건에서 사용자 저장소에 저장된 값을 참조할 수도 있습니다. 값을 참조하려면 user.params.PARAMETER_NAME 구문을 사용합니다. 여기서 PARAMETER_NAME는 매개변수가 설정되었을 때 웹훅에 제공된 이름입니다.

예를 들어 이전에 사용자 저장소에 색상 매개변수를 exampleColor로 저장했고 조건의 'red' 값과 일치시키려고 합니다. 조건에서 user.params.exampleColor를 사용하여 저장된 값을 참조합니다. 그러면 조건식은 다음과 같습니다.

조건 구문

user.params.exampleColor == "red"
    

사용자 저장용량 데이터 만료

인증된 사용자의 경우 사용자 저장소에 저장된 데이터는 웹 및 앱 활동 설정에 따라 만료되며 작업 자체에서 삭제할 수도 있습니다. 확인되지 않은 사용자의 경우 대화가 끝나면 어시스턴트는 사용자 저장소의 콘텐츠를 지웁니다.

Actions on Google은 대화가 시작될 때 다양한 지표를 기반으로 대화 시작 시 사용자의 확인 상태를 설정합니다. 예를 들어 휴대기기에서 Google 어시스턴트에 로그인한 사용자의 확인 상태는 VERIFIED입니다.

사용자가 GUEST의 인증 상태를 갖게 되는 이유는 다음과 같습니다.

  • 사용자가 개인 검색결과를 사용 중지한 경우
  • 사용자가 웹 및 앱 활동을 사용 중지했습니다. 일부 사용자는 도메인 수준에서 이 설정을 사용 중지할 수 있습니다.
  • 기기에 Voice Match가 사용 설정되어 있는데 일치에 실패하거나 사용자가 음성을 사용하지 않고 어시스턴트를 호출하는 경우 (예: Nest 홈 기기 길게 누르기)
  • 사용자가 로그인하지 않았습니다.

게스트 사용자가 실패하는 기능과 상호작용하지 않도록 사용자 스토리지에 데이터를 저장하기 전에 항상 사용자의 확인 상태를 확인하세요.

사용자에게 공개

사용자는 실행한 작업의 사용자 저장소에 저장된 데이터를 볼 수 있습니다. 특정 작업에서 사용자 저장소에 저장된 데이터를 삭제하거나 서비스에서 더 이상 나를 기억하지 않도록 할 수 있습니다.

저장된 데이터를 보거나 서비스에서 더 이상 나를 기억하지 않도록 하려면 다음 단계를 따르세요.

  1. 어시스턴트 디렉터리로 이동합니다.
  2. 사용자 저장용량을 보거나 삭제할 작업을 찾아 선택합니다.
  3. 페이지 하단으로 스크롤합니다.
    • 사용자 저장소의 콘텐츠를 보려면 [저장된 데이터 보기]를 클릭하세요.
    • 서비스의 사용자 저장소에 저장된 데이터를 재설정하려면 재설정을 클릭합니다.
    • 사용자 저장소에 저장된 데이터를 삭제하고 서비스가 더 이상 더 이상 기억하지 않도록 하려면 action_name에서 더 이상 나를 기억하지 않도록 설정을 클릭합니다.