2017-11-28 19 views
1

Dialogflow 앱 (Google에서의 작업)을 구현하려했지만 지금까지 꽤 잘 작동합니다. 그러나 : node.js를 통해 추가 액션 매개 변수/컨텍스트를 정의 할 수 있는지 아는 사람이 있는지, 그래서 어떻게 든 Dialogflow에서 동적 "링크 아웃 제안"을 만들 수 있습니까?Google의 Dialogflow/Actions : 링크 아웃 제안에 대한 동적 응답 데이터 제공

세부 사항 : 사용자의 매개 변수를 요청하고 URL 집합 (일종의 데이터베이스로 구현 됨)에 매핑 한 다음 결과 URL을 json 응답에 씁니다. 목표 : Dialogflow의 "Response> Google Assistant> URL 입력"에서 $ url, # deeplink.url (또는 이와 비슷한)과 같은 응답 URL을 포함하십시오.

어떤 방식 으로든 가능합니까? 미리 감사드립니다.

업데이트 : 또한 풍부한 응답을 작성하는 방법을 테스트했지만 작동하지 않는 것 같습니다. 예 :

const richResponse = app 
.buildRichResponse() 
.addSimpleResponse('Flight from ' + origin + ' to' + destination) 
.addSuggestions("Find your flight:") 
.addSuggestions("Basic Card", "List", "Carousel") 
.addSuggestionLink("Search now", url); 

그러나 그는 "addSimpleResponse"후 중지하는 것 같다. (응용 프로그램 ('행동 --구글에서') DialogflowApp하는 필요의 인스턴스입니다).

+0

정확히 무엇을하려고하는지 잘 모르겠지만 어시스턴트의 "풍부한 반응"을 살펴볼 수 있습니다. – Bart

+0

인 텐트 만들기> 웹 훅 통합> 서버에서 비즈니스 논리 실행> 응답을 반환하십시오. 끝난! –

+0

그게 내가 먼저 해봤지만 어떻게 든 작동하지 않았다. 제안 링크가 포함 된 RichResponse의 예가 있습니까? – Vrankey

답변

2

예. 웹 후크에 context을 만들고 원하는 값이 포함 된 해당 컨텍스트의 매개 변수를 포함 할 수 있습니다. 예제를 사용하려면 컨텍스트 "딥 링크 (deeplink)"를 만들고 링크 할 URL에 "url"이라는 매개 변수를 설정하십시오. 링크 아웃 제안 및 기본 카드에는 링크 외에도 제목이나 웹 사이트 이름이 필요하므로 "제목"매개 변수가 있어야합니다.

컨텍스트 만들기는 매우 간단하지만 JSON을 생성하는 방법에 따라 달라집니다. 당신은 Node.js를위한 조치 - 온 - 구글 라이브러리를 사용하는 경우, 당신은 당신이 response JSON yourself을 만드는 경우 컨텍스트와 contextOut 배열을해야합니다

var contextParameters = { 
    title: "Example Website!", 
    url: "http://example.com/" 
}; 
app.setContext("deeplink", 1, contextParameters); 

같은 명령 뭔가를 만들 것 설정하려는 개체. json으로의이 부분은,

다음
"contextOut": [ 
    { 
    "name": "deeplink", 
    "lifespan": 1, 
    "parameters": { 
     "title": "Example Website!", 
     "url": "http://example.com/" 
    } 
    } 
] 

처럼 보일 수있는 링크 아웃 또는 기본 카드의 분야에서, 당신은 #deeplink.title#deeplink.url로를 참조 할 것. 링크 아웃의 경우, 다음과 같이 보일 수 있습니다

enter image description here

을하지만, 당신이 성취하고있어 한 번, 때로는 일부로 설정 대신으로 webhook에서 VUI 및 GUI 요소를 생성하기 쉬워진다 Dialogflow 빌더. 생성하려는 카드 또는 회전 목마 항목의 수가 다를 경우 특히 그렇습니다.

The Actions on Google documentation은 샘플 JSON 및 node.js 코드와 함께 반환 될 수있는 다양한 UI 요소를 제공하여 각각을 생성합니다. Dialogflow가 Google 응답 탭에서 제공하는 것과 동일한 요소입니다. 대신 웹 훅에서 생성 할 수 있습니다.

+0

자세한 답변을 주셔서 대단히 감사합니다! 그러나 이것이 바로 내가 시도한 것이지만 Dialogflow에서 볼 수있는 JSON 응답에 컨텍스트가 표시되지 않습니다. – Vrankey

+0

정확히 무엇을했는지 보여주는 스크린 샷, 컨텍스트를 설정하는 방법을 보여주는 코드 샘플, Dialogflow에서 반환되는 JSON을 포함하도록 질문을 업데이트하십시오. – Prisoner