Alexa에 봇 연결Connect a bot to Alexa

적용 대상: SDK v4APPLIES TO: SDK v4

사용자 지정 기술을 지원하는 Alexa 디바이스를 사용하여 사용자와 통신하도록 봇을 구성할 수 있습니다.You can configure your bot to communicate with people using Alexa devices that support Custom Skills.

중요

Bot은 봇 FRAMEWORK SDK 버전 4.8 이상을 사용 해야 합니다.Your bot must use the Bot Framework SDK version 4.8 or later. Azure Portal을 통해 새 bot를 만들 때 봇은 해당 시점에 사용 가능한 최신 버전을 사용 합니다.When you create a new bot via the Azure Portal, the bot will use the latest version available at that time. 기존 봇이 있는 경우 SDK 버전을 업데이트 해야 할 수 있습니다.If you have an existing bot you may need to update your SDK version.

Alexa 기술 만들기Create an Alexa skill

  1. Alexa 개발자 콘솔에 로그인한 다음, '기술 만들기' 단추를 클릭합니다.Log into the Alexa Developer Console and then click the 'Create Skill' button.

  2. 다음 화면에서 새 기술의 이름을 입력합니다.On the next screen enter a name for your new skill. 이 페이지에서는 기술에 추가할 모델을 선택(기본적으로 선택된 사용자 지정)하고 기술 백 엔드 리소스를 호스팅할 방법을 선택(기본적으로 선택된 자체 프로비전)할 수 있습니다.On this page you can Choose a model to add to your skill (Custom selected by default) and Choose a method to host your skill's backend resources (Provision your own selected by default). 기본 옵션을 선택된 상태로 두고 기술 만들기 단추를 클릭합니다.Leave the default options selected and click the Create Skill button.

    스크린샷: 모델 및 호스팅 선택

  3. 다음 화면에서는 템플릿을 선택 하라는 메시지가 표시됩니다.On the next screen you will be asked to Choose a template. 처음부터 시작 이 기본적으로 선택됩니다.Start from scratch will be selected by default. 처음부터 시작 을 선택된 상태로 두고 선택 단추를 클릭합니다.Leave Start from scratch selected and click the Choose button.

    스크린샷: 템플릿 선택

  4. 이제 기술 대시보드가 표시됩니다.You will now be presented with your skill dashboard. 왼쪽 메뉴의 상호 작용 모델 섹션 내에서 JSON 편집기 로 이동합니다.Navigate to JSON Editor within the Interaction Model section of the left hand menu.

  5. 아래 JSON을 JSON 편집기 에 붙여넣고 다음 값을 바꿉니다.Paste the JSON below into the JSON Editor, replacing the following values;

    • 기술 호출 이름 - 사용자가 Alexa에서 기술을 호출하는 데 사용하는 이름입니다.YOUR SKILL INVOCATION NAME - This is the name that users will use to invoke your skill on Alexa. 예를 들어 기술 호출 이름이 '어댑터 도우미'인 경우 사용자는 "Alexa, 어댑터 도우미 시작"이라고 말하여 기술을 시작할 수 있습니다.For example, if your skill invocation name was 'adapter helper', then a user would could say "Alexa, launch adapter helper" to launch the skill.

    • 예제 문구 - 사용자가 기술과 상호 작용하는 데 사용할 수 있는 3개의 예제 단계를 제공해야 합니다.EXAMPLE PHRASES - You should provide 3 example phases that users could use to interact with your skill. 예를 들어 사용자가 "Alexa, 어댑터 도움미에게 Alexa 어댑터의 세부 정보를 제공하도록 요청하세요."라고 말할 수 있는 경우 예제 문구는 "Alexa 어댑터에 대한 세부 정보를 제공합니다."라고 표시됩니다.For example, if a user might say "Alexa, ask adapter helper to give me details of the alexa adapter", your example phrase would be "give me details of the alexa adapter".

    {
        "interactionModel": {
            "languageModel": {
                "invocationName": "<YOUR SKILL INVOCATION NAME>",
                "intents": [
                    {
                        "name": "GetUserIntent",
                        "slots": [
                            {
                                "name": "phrase",
                                "type": "phrase"
                            }
                        ],
                        "samples": [
                            "{phrase}"
                        ]
                    },
                    {
                        "name": "AMAZON.StopIntent",
                        "samples": []
                    }
                ],
                "types": [
                    {
                        "name": "phrase",
                        "values": [
                            {
                                "name": {
                                    "value": "<EXAMPLE PHRASE>"
                                }
                            },
                            {
                                "name": {
                                    "value": "<EXAMPLE PHRASE>"
                                }
                            },
                            {
                                "name": {
                                    "value": "<EXAMPLE PHRASE>"
                                }
                            }
                        ]
                    }
                ]
            }
        }
    }
    
  6. 모델 저장 단추를 클릭한 다음, 빌드 모델 을 클릭하여 기술에 대한 구성을 업데이트합니다.Click the Save Model button and then click Build Model, which will update the configuration for your skill.

  7. Alexa 포털의 URL에서 또는 Alexa Developer 콘솔로 이동 하 여 기술 id 보기 를 클릭 하 여 Alexa 기술 id 를 가져옵니다.Get your Alexa Skill Id either from the URL in the Alexa Portal or by going to the Alexa Developer Console and clicking View Skill ID. Alexa 기술 ID는 ' amzn1 '와 같은 값 이어야 합니다.Your Alexa Skill ID should be a value like 'amzn1.ask.skill.A GUID'.

  8. Bot Framework 포털에서 Alexa 채널 구성 페이지로 이동하여 Alexa 기술 ID기술 ID 입력 필드에 붙여넣습니다.In the Bot Framework Portal navigate to the Alexa Channel Configuration page and paste your Alexa Skill Id into the Enter skill Id field.

  9. Alexa 포털에서 왼쪽 메뉴의 엔드포인트 섹션으로 이동합니다.In the Alexa Portal navigate to the Endpoint section on the left hand menu. 서비스 엔드포인트 형식 으로 HTTPS 를 선택하고 기본 지역 엔드포인트를 Bot Framework Alexa 구성 페이지에서 복사한 Alexa Service Endpoint URI 값으로 설정합니다.Select HTTPS as the Service Endpoint Type and set the Default Region endpoint to the Alexa Service Endpoint URI value copied from the Bot Framework Alexa Configuration page.

  10. 엔드포인트를 정의한 텍스트 상자 아래의 드롭다운에서 사용 중인 인증서의 유형을 선택해야 합니다.In the drop down underneath the text box where you have defined your endpoint, you need to select the type of certificate being used. 내 개발 엔드포인트는 인증 기관의 와일드 카드 인증서가 있는 도메인의 하위 도메인입니다. 를 선택합니다.Choose My development endpoint is a sub-domain of a domain that has a wildcard certificate from a certificate authority.

    스크린샷: 서비스 끝점 형식 선택

  11. Alexa 포털에서 엔드포인트 저장 단추를 클릭합니다.Click the Save Endpoints button in the Alexa Portal.

  12. Bot Framework Alexa Channel 구성 페이지에서 저장 단추를 클릭합니다.Click the Save button in the Bot Framework Alexa Channel Configuration page.

본인 이외의 다른 사용자와 통신할 수 있으려면 먼저 Alexa 내에서 기술을 게시해야 합니다.You will need to publish your Skill within Alexa before users other than yourself can communicate with it. 사용자가 소유하고 있는 Alexa 디바이스를 사용하거나 기술의 테스트 탭에서 Alexa 내에 게시하기 전에 기술을 테스트할 수 있습니다.You can test your skill, prior to publishing it, within Alexa using an Alexa device you own or from the Test tab for your skill. 테스트 탭으로 이동하려면 Alexa 개발자 콘솔에서 기술로 이동합니다.To get to the Test tab navigate to your Skill from the Alexa Developer Console.

Alexa의 사용자 인증User authentication in Alexa

Alexa의 사용자 인증은 Alexa 기술에서 계정 연결 을 설정 하 고 사용 하 여 수행 됩니다.User authentication in Alexa is done by setting up and using Account Linking on the Alexa skill. 자세한 내용은 Alexa 기술에 대 한 계정 연결 이해를 참조 하세요.For more information, see Understand Account Linking for Alexa Skills.

모든 인증에 인증이 필요한 경우 기술을 사용 하도록 설정할 때 계정 링크를 요구할 수 있습니다.You can require account linking at the time of enabling the skill, if everything needs authentication.

  1. 나가는 활동에 로그인 카드 를 연결 합니다.Attach a sign-in card on the outgoing activity.
  2. 사용자에 게 Alexa 앱을 사용 하 여 로그인 하 라는 메시지를 표시 하는 Alexa 용 Linkaccount 카드로 변환 됩니다.This will be converted to a LinkAccount card for Alexa that prompts the user to sign in using the Alexa app.

사용자가 자신의 계정을 앱에 성공적으로 연결한 경우 채널 데이터의 후속 요청에서 토큰을 사용할 수 있습니다.If the user successfully links their account into the app a token is then available on subsequent requests in the channel data.

자세한 내용은 커뮤니티에서 유지 관리 하는 Alexa 어댑터 를 참조 하세요.For more information, see also Alexa Adapter maintained by the community.