호출 모델 빌드

호출 모델은 사용자가 프로젝트에서 작업을 호출하는 방법을 지정합니다. 사용자는 작업을 호출하면 작업을 시작하며, 이는 대화 모델에서 정의합니다. 다음과 같은 방법으로 호출을 정의할 수 있습니다.

  • 기본 호출 - 작업 프로젝트에 필요한 유일한 호출입니다. 사용자는 "Hey Google, <표시 이름>에 연결해줘"와 비슷한 문구를 말하며, 개발자는 이 인텐트를 매칭합니다. 개발자는 보통 사용자에게 환영 메시지로 인사를 합니다.

  • 딥 링크 호출 - 맞춤 인텐트에서 학습 문구를 정의할 수 있는 선택적 호출이므로 사용자가 대화의 특정 부분에 딥 링크를 설정할 수 있습니다. 사용자는 "Hey Google, <표시 이름>에 <딥 링크 구문>으로 연결"과 비슷한 문구를 말하여 이러한 유형의 인텐트와 일치시킵니다 (예: "Hey Google, Google에 관해 Facts에 연결해 줘").

  • 내장 인텐트 - 시스템 정의 호출 모델을 활용할 수 있는 선택적 호출입니다. 내장 인텐트 지원을 선언하면 사용자가 표시 이름을 지정하지 않고도 작업 프로젝트를 검색하고 호출할 수 있습니다. 예를 들어 사용자가 "Hey Google, 게임 플레이해 줘"라고 말하면 Google 어시스턴트가 작업을 호출 옵션으로 표시할 수 있습니다.

그림 1. 호출 모델은 작업과의 대화를 시작할 수 있는 모든 인텐트로 구성됩니다.

기본 호출 만들기

모든 작업 프로젝트에는 작업 프로젝트의 기본 진입점 역할을 하는 기본 호출이 있습니다.이 호출의 언어 모델은 프로젝트의 표시 이름과 연결되므로 사용자는 "Hey Google, <표시 이름>에 말해 줘"와 같은 문구를 말해야 이 호출을 사용할 수 있습니다. 사용자가 이러한 방식으로 작업을 호출하면 어시스턴트 런타임은 actions.intent.MAIN 시스템 인텐트와 일치합니다.

기본 호출을 만들려면 다음 안내를 따르세요.

딥 링크 호출을 빌드하려면 딥 링크에 설정하려는 사용자 입력을 정의하는 학습 문구를 사용하여 전역 사용자 인텐트를 만듭니다. 사용자는 딥 링크 호출을 실행하기 위해 표시 이름과 딥 링크 문구를 함께 말합니다 (예: "Hey Google, <디스플레이 이름>에 연결해 <딥 링크 구문>"으로 말해 줘)

암시적 호출 만들기

암시적 호출을 사용하면 사용자가 프로젝트의 표시 이름을 사용하지 않고 작업을 호출할 수 있습니다. 일치하는 작업을 찾기 위해 Google은 사용자가 어시스턴트에게 구성된 인텐트 중 하나의 호출 문구와 비슷한 작업을 하도록 지시하거나 사용자가 작업이 적절한 컨텍스트에 있을 때 신호를 사용하는 것과 같은 신호를 사용합니다.

호출 이벤트 처리

어시스턴트가 전역 인텐트 중 하나와 일치하면 핸들러로 처리할 수 있는 이벤트가 트리거됩니다. 다음 섹션에서는 핸들러가 수행할 수 있는 작업을 설명합니다. 세 가지 중 하나를 선택하거나 이들의 조합을 선택할 수 있습니다.

웹훅 트리거

인텐트 핸들러는 웹훅 이벤트를 트리거하여 웹 서비스에 위임할 수 있습니다. 웹훅을 트리거하고 웹 서비스가 호출을 처리하도록 하려면 다음 안내를 따르세요.

프롬프트

인텐트 핸들러는 정적 프롬프트로 응답할 수 있습니다. 일반적으로 호출 인텐트에 관한 프롬프트는 사용자를 환영하거나, 사용자에게 작업 사용 방법을 안내하거나, 사용자가 즉시 필요로 하는 정보로 응답 (원샷 작업)합니다.

프롬프트로 호출 인텐트 일치를 처리하려면 다음 단계를 따르세요.

장면으로 전환

인텐트 핸들러는 장면으로 전환하여 일치하는 호출 인텐트를 처리할 수 있습니다. 이렇게 하면 로직을 최대한 유연하게 실행할 수 있습니다. 장면으로 전환하려면 다음 단계를 따르세요.