2017-10-26 3 views
1

누구나 askForNewSurface()를 작동시킬 수 있습니까? 다른 사용자가 대화를 계속 진행할 것인지 묻는 메시지가 표시되지만 적어도 실제로는 자동으로 오류가 발생하는 것 같습니다.Multisupport : askForNewSurface

프랑스어 Android 휴대 전화에 구성된 프랑스어 계정에 연결된 프랑스어 Google 홈에서 프랑스어 도우미와 시도했지만 제대로 작동하지 않았습니다.

"hasAvailableSurfaceCapabilities"가 true를 반환하기 때문에 모든 것을 영어로 전환하려고 시도했습니다. (내 메모리가 그렇게 나쁘지 않은 경우 프랑스어가 아닙니다.)하지만 그냥 askForNewSurface() 호출.

Google은 문서에 따라 google SDK에 대한 작업을 통해 보조자를 만들었습니다. 여기

코드입니다 :은 "console.error ("오류 askForNewSurface() ") 물론

if (assistant.hasSurfaceCapability(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) { 
    if (!assistant.isNewSurface()) { 
     assistant.tell("I found no screen."); 
    } else { 
     assistant.tell("You seem to have a screen available !"); 
    } 
} else if (assistant.hasAvailableSurfaceCapabilities(assistant.SurfaceCapabilities.SCREEN_OUTPUT)) { 
    try { 
     let res = assistant.askForNewSurface("To display additional content", "Do you want proceed on this scree ?", [assistant.SurfaceCapabilities.SCREEN_OUTPUT]); 
     console.log(res); 
    }catch(e) { 
     console.error("ERROR askForNewSurface()"); 
     console.log(e); 
    } 
} else { 
    assistant.tell("Sorry i found no screen"); 
} 

;" 해고 된 적이 없다. 모든 것이 잘된 것처럼 보이지만 아무 일도 일어나지 않습니다.

아이디어가 있으십니까?

좋은 하루 보내십시오 :)

+0

실제로 기능이 준비되었는지 궁금합니다. "내 웹에 google.com co.kr에서 내게 보여주십시오"라고 대답하면 "웹 사이트를 표시 할 화면이 없습니다"라고 대답합니다. 나중에 다시 시도하겠습니다. – Durss

+0

흠,이 기능이 작동해야합니다. 또한 영어와 프랑스어간에 기능 패리티가 있어야하므로 차이가 없어야합니다. 나는 누군가에게 이것을 월요일에 시험해보고, 여기서 일어나고있는 일을 해결할 수 있는지 알아볼 것이다. –

+1

안녕하세요 Durss, 저에게 그것은 효과가있었습니다. 비디오는 아래와 같습니다. 몇 가지 질문 : 전환을 원할 때 사용자에게 묻는 지점에 도달하고 있습니까? Dialogflow를 사용하는 경우 Diaglogflow에서 적절한 이벤트를 설정하고 있습니까? 또한이 설명서는 https://developers.google.co.kr/actions/reference/nodejs/AssistantApp # askForNewSurface 대 https://developers.google.com/actions/assistant/surface-capabilities#multi-surface_conversations 두 번째 링크는 Dialog flow에서 이벤트에 대한 자세한 정보를 제공합니다. https://www.youtube.com/watch?v=92oZvkSZPPU – SysCoder

답변

0

잘하고 있어요!

나는 처음부터 새로 시작한 프로젝트에서 내가 테스트 한 프로젝트에 실제로 이상한 행동을했다.

GAction CLI를 사용하여 Google 액션을 시작한 프로젝트였습니다. 나중에 DialogFlow/webhook로 전환했습니다. 매우 이상한 점은 때때로 내가 DialogFlow 소스로 요청을 받았을 때가 있었고, 다른 때는 SDK 소스였습니다. 또한 "대화 흐름", "SDK"또는 다른 것과 연결되어 있는지 여부를 알려주는 구성의 "동작"부분이 비어 있었고 제대로 다시 설정할 수 없었습니다. 마지막으로 다중 언어를 관리하기 위해 업데이트 한 후 dialogflow를 마이그레이션하는 것이 프로젝트가 원래 영어로만 작성 되었기 때문에 완벽하지는 않았지만 프로젝트를 내보낼 때 JSON 파일의 이름은 모두 "_ent"대신 "intentName_fr" ".

TLDR; 프로젝트는 아마도 모든 레벨에서 완전히 망가져있을 것입니다 : D

동일한 소스 코드로 처음부터 새로 만들었고 올바르게 작동합니다. 나는 "당신 전화로 보내면 괜찮습니까?"라는 질문을 받는다. 내가 '예'라고 대답하면 내 휴대 전화에 알림 메시지가 표시됩니다.

답변 해 주셔서 감사합니다. :)!