프로젝트 빌드

<ph type="x-smartling-placeholder">
</ph> <ph type="x-smartling-placeholder"></ph>

작업 프로젝트는 모든 작업을 단일 컨테이너로 패키징합니다. 나 이 프로젝트를 Actions on Google에 게시하면 Google 어시스턴트가 대화형 환경을 호출할 수 있습니다

작업 프로젝트 구성요소
그림 1. 작업 프로젝트 구조
를 통해 개인정보처리방침을 정의할 수 있습니다.

다음과 같은 하위 수준의 구성요소를 사용하여 작업 프로젝트를 빌드합니다.

  • 설정 및 리소스는 프로젝트 메타데이터를 정의합니다. 프로젝트 아이콘 등의 리소스를 사용할 수 있습니다 Google은 이 정보를 사용하여 작업을 어시스턴트 디렉터리에 추가하여 사용자가 있습니다.

  • 인텐트는 실행할 작업을 나타냅니다. 사용자 입력 또는 처리가 필요한 시스템 이벤트 등이 있습니다. 가장 일반적인 유형의 사용자 인텐트입니다. 이러한 인텐트를 사용하면 NLU (자연어 이해)에 의해 자연스럽게 확장되는 문구 더 많은 유사한 구문을 포함할 수 있습니다. NLU는 이러한 문구를 사용하여 어시스턴트가 사용자를 일치시키는 데 사용하는 언어 모델을 학습시킵니다. 있습니다. 대화 중 일부 사용자 입력이 인텐트의 언어와 일치하는 경우 어시스턴트 런타임이 인텐트를 작업으로 전송하여 사용자에게 응답합니다.

  • 유형을 사용하면 사용자 입력에서 구조화된 데이터를 추출할 수 있습니다. 작성자: 학습 문구에 유형으로 주석을 지정하면 NLU에서 관련성 있고 구조화된 개방형 입력을 파싱하지 않아도 됩니다

  • 장면은 인텐트를 처리하며 장면의 기본 로직 실행자입니다. 확인할 수 있습니다. 슬롯 채우기를 수행하고, 조건부 로직을 평가하고, 사용자에게 메시지를 표시하고, 심지어 외부 웹 서비스에 요청하여 비즈니스 로직에 더 집중할 수 있습니다 장면을 인텐트와 함께 사용하면 특정 사용자 입력 또는 시스템 이벤트를 감지하고 이에 해당하는 제공합니다.

  • 프롬프트는 프롬프트에 사용할 정적 또는 동적 응답을 정의합니다. 사용자에게 다시 응답할 수 있습니다.

  • 웹훅을 사용하면 웹 서비스에 추가 작업을 위임할 수 있습니다. (예: 데이터 유효성 검사, 프롬프트 생성) 내 작업 처리와 통신합니다.

  • Interactive Canvas를 사용하면 몰입도 높은 환경을 제공합니다.

프로젝트 만들기

먼저 Actions 콘솔에서 프로젝트를 생성해야 Google 어시스턴트를 탭합니다. 프로젝트를 만들려면 다음 안내를 따르세요.

  1. Actions 콘솔로 이동합니다.
  2. 새 프로젝트를 클릭합니다.
  3. 프로젝트 이름을 입력하고 프로젝트 만들기를 클릭합니다.
  4. 어떤 종류의 작업을 빌드하시겠습니까? 화면에서 프로젝트를 가장 잘 나타내는 카테고리를 선택하고 Next를 클릭합니다.
  5. 어떻게 빌드하시겠습니까? 화면에서 빌드 방법을 선택합니다. Start build(빌드 시작)를 클릭합니다. 예를 들어 샘플로 확인할 수 있습니다
를 통해 개인정보처리방침을 정의할 수 있습니다. <ph type="x-smartling-placeholder">

로컬 작업 SDK 프로젝트 만들기

Actions 콘솔에서 작업 프로젝트를 만든 후 다음 작업을 할 수 있습니다. 로컬 개발 환경에서 프로젝트를 초기화할 수 있습니다.

기존 작업 프로젝트에서 Actions SDK 프로젝트를 초기화하려면 다음 단계를 따르세요. 다음 단계를 따르세요.

  1. 로컬 파일 시스템에서 작업 프로젝트를 위한 빈 디렉터리를 만듭니다.
  2. 이 빈 디렉터리에 sdk 디렉터리를 만듭니다.
  3. 터미널에서 작업 디렉터리를 sdk 디렉터리로 변경합니다.

빈 프로젝트로 시작

콘솔에서 방금 만든 빈 프로젝트에서 시작하려면 gactions pull --project-id <my-project-id>를 실행합니다.

$ mkdir myAction
$ cd myAction
$ mkdir sdk
$ cd sdk
$ gactions pull --project-id my-project-id
Pulling your project files from Draft for a project id: "my-project-id"
✔ Done. You should see the files written in path/to/myAction/sdk

샘플 프로젝트로 시작하기

샘플 프로젝트에서 시작하려면 gactions init <sample name>를 실행합니다.

$ mkdir actions-test
$ cd actions-test
$ mkdir sdk
$ cd sdk
$ gactions init question
Writing sample files for question.
✔ Done. Please checkout the following documentation - https://developers.google.com/assistant/conversational/build on the next steps on how to get started.

프로젝트 정보 정의

프로젝트의 설정과 리소스는 기능 및 표시 경로 지원, 지원되는 언어, 표시 이름, 설명, 로고 등을 만들 수 있습니다. 다음 표에서는 기본 설정 및 리소스를 설명합니다. 확인할 수 있습니다 Actions on Google에서는 프로젝트를 어시스턴트에 배포하고 게시하는 데 필요한 정보 디렉터리로 이동합니다.

이름 설명
디렉터리 정보 Actions on Google이 어시스턴트 디렉터리에 저장합니다 메타데이터 및 설명 포함 로고 및 배너 이미지의 이미지 리소스에 대한 정보를 확인할 수 있습니다
위치 타겟팅 작업을 사용할 수 있는 언어를 구성합니다.
노출 영역 기능 작업을 사용할 수 있는 노출 영역을 구성합니다.
회사 세부정보 회사의 연락처 정보를 지정합니다.
브랜드 인증 소유하고 있는 웹사이트 또는 Android 앱을 연결하여 추가 혜택을 누리세요. 사전 정의된 호출 이름, 웹사이트 링크 등의 추가 정보를 제공해야 합니다.
출시 작업에 서로 다른 테스트 및 프로덕션 출시 구성 Google Cloud 도구를 소개합니다
어시스턴트 링크 사용자가 웹 속성에서 여러분의 작업을 호출할 수 있도록 합니다.

프로젝트 정보를 정의하려면 다음 안내를 따르세요.

  1. sdk/settings/settings.yaml에서 작업 프로젝트의 전역 설정을 정의합니다. 설정 참고 자료를 확인하세요. 지원 값을 참조하세요.

    다음 스니펫은 sdk/settings/settings.yaml 파일의 예를 보여줍니다.

    accountLinking:
      enableAccountCreation: true
      linkingType: GOOGLE_SIGN_IN
    category: GAMES_AND_TRIVIA
    projectId: my-project-id
    ...
    

    <ph type="x-smartling-placeholder">
  2. 사용자의 언어에 따라 달라질 수 있는 설정을 정의합니다 (예: 다른 언어로 된 호출 구문)을 sdk/settings/<locale>/settings.yaml 파일에 포함할 수 있습니다. locale이 도착어로 변경됩니다.

    자세한 내용은 LocalizedSettings를 참조 문서를 참조하세요.

    다음 스니펫은 sdk/settings/en/settings.yaml 파일:

    localizedSettings:
      developerEmail: developer@developers.com
      developerName: Developer Name
      displayName: My Display Name
      fullDescription: full description of the action
      largeBannerImage: https://path/to/large/banner
      privacyPolicyUrl: http://path/to/privacy/policy
      sampleInvocations:
      - Talk to My Display Name
      shortDescription: short description of the action
      smallLogoImage: https://path/to/small/logo
      voice: female_1
    ...
    

리소스 추가

이미지 파일, 오디오 파일, 문자열과 같은 리소스를 구성 파일에서 이를 참조 (예: 프롬프트) 정의 또는 조건)을 $resources 변수로 변환할 수 있습니다.

프로젝트 리소스는 resources/에 저장되며, 각 리소스 유형은 디렉터리에 폴더를 할당합니다

리소스에 언어별 폴더를 만들어 리소스를 현지화할 수 있습니다. 예를 들어, 문자열의 스페인어 버전을 resources/strings/es/<filename>.yaml

이미지

이미지 파일은 resources/images/에 저장되며 참조할 수 있습니다. $resources.images.<name of the image file without file extension>. 허용되는 파일 확장자는 다음과 같습니다.

  • gif
  • png
  • jpg
  • jpeg

예를 들어 작은 로고의 영어 버전이 resources/images/en/square.png 및 대형 배너의 영어 버전은 각각 resources/images/en/landscape.jpg에 저장됨 이전 예의 sdk/settings/en/settings.yaml는 다음과 같이 됩니다.

localizedSettings:
  developerEmail: developer@developers.com
  developerName: Developer Name
  displayName: My Display Name
  fullDescription: full description of the action

  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: http://path/to/privacy/policy
  sampleInvocations:
  - Talk to My Display Name
  shortDescription: short description of the action

  smallLogoImage: $resources.images.square
  voice: female_1
...

오디오 파일

오디오 파일은 resources/audio/에 저장되며 참조할 수 있습니다. $resources.audio.<name of the audio file without file extension>.

허용되는 파일 확장자는 다음과 같습니다.

  • mp3
  • mpeg

예를 들어 프롬프트에서 오디오 녹음 파일을 참조할 수 있습니다.

candidates:
  - first_simple:
      variants:
        - speech: your speech response
    content:
      media:
        mediaType: audio
        mediaObjects:
          - name: media name
            description: media description
            url: $resources.audio.intro

문자열

문자열은 resources/strings/.yaml 파일로 저장됩니다. 각 파일에는 문자열 키와 관련 값의 맵(단일 문자열 또는 목록일 수 있음) 학습합니다. 다음 명령어를 사용하여 값을 참조할 수 있습니다. $resources.strings.<name of the image file without file extension>.<key> 를 사용하거나 목록에서 임의의 값을 가져올 때 사용합니다. $resources.strings.<name of the image file without file extension>.<key>.<numerical index> 를 사용합니다.

예를 들어 문자열 현지화를 위해 리소스 문자열을 사용하면 이전 예의 sdk/settings/en/settings.yaml는 다음과 같을 수 있습니다.

localizedSettings:
  developerEmail: developer@developers.com
  developerName: $resources.strings.appinfo.developerName
  displayName: $resources.strings.appinfo.displayName
  fullDescription: $resources.strings.appinfo.fullDescription
  largeBannerImage: $resources.images.landscape
  privacyPolicyUrl: $resources.strings.appinfo.privacyPolicyUrl
  sampleInvocations:
  - $resources.strings.invocations.sample
  shortDescription: $resources.strings.appinfo.shortDescription
  smallLogoImage: $resources.images.square
  voice: female_1
...

시뮬레이터에서 프로젝트 테스트

Actions 콘솔에서는 작업을 미리 볼 수 있는 시뮬레이터가 제공됩니다. 이 시뮬레이터를 사용하면 디버그 정보를 확인하고, 기기 기능을 설정하고, 선택할 수 있습니다.

그림 3. 시뮬레이터의 주요 영역은 (1) 사용자 입력, (2) 기기 보기, (3) 옵션 및 설정, (4) 대화 로그.

프로젝트를 테스트하려면 다음 안내를 따르세요.

  1. gactions deploy preview를 실행하여 작업을 '미리보기'에 배포합니다. 사용 설정 시뮬레이터에서 테스트를 실행합니다.
  2. 명령어 결과에서 URL을 열어 시뮬레이터에 액세스합니다.
$ gactions deploy preview
Deploying your project files to your Actions console preview for a project id: "my-project". This may take a few minutes.
Sending configuration files
Waiting for server to respond.
✔ Done. You can now navigate to the Actions Console simulator to test your changes: http://console.actions.google.com/project/my-project/simulator?disableAutoPreview