alexa와 Rails를 함께 사용해 봅시다.
아마존 에코가 일본에서 발매되어 1개월 정도 지났습니다. 모처럼 응모에 당첨하여 구입할 수 있었으므로, 스킬 만들기에 도전하고 싶습니다.
Rails측의 대응
alexa_rubykit
라는 편리한 gem이 있으므로 그것을 이용합니다. Rails에서 에코로 반환하는 JSON을 쉽게 만들 수 있습니다.
이것을 Gemfile에 추가합니다.
gem 'alexa_rubykit'
그런 다음 컨트롤러를 만듭니다. 에코로부터 받은 음성의 캐릭터 라인을 그대로 에코에 돌려줍니다.
간단한 앵무새 반환 기술이라고 생각하세요.
class TalksController < ApplicationController
protect_from_forgery with: :null_session
def create
request = AlexaRubykit::build_request(params)
response = AlexaRubykit::Response.new
response.add_speech("あなたの名前は#{request.slots[:MyName][:value]}ですね")
render json: response.build_response
end
end
request.slots[:MyName][:value]
이 부분이 에코로부터 건너오는 파라미터가 됩니다. 이 설정은 이 후에 실시합니다.
Alexa측의 대응
스킬 등록
개발자 포털 에서 스킬을 등록해 갑니다.

Skill Builder
다음을 누르면 스킬 빌더로 화면이 전환된다고 생각합니다. 그래서 의도를 추가합니다.

이번에는 YourNameIntent
라는 의도를 만듭니다. 그런 다음 Sample Utterances
를 설정합니다.

MyName
라는 부분을 Alexa가 해석해 캐릭터 라인으로서 Rails에 POST 해 줍니다. 설정이 끝나면 빌드 모델하십시오.
엔드포인트 설정

Rails 앱에 대한 URL을 설정합니다. https
라는 것으로 heroku
를 사용하는 것이 특히 아무것도 준비하지 않아도 되므로 추천합니다.
글로벌 필드 설정

여기에서 하위 도메인을 확인하십시오.
테스트

서비스 시뮬레이터로 테스트합니다. 발음할 단어를 입력해 보세요. 여기서 Sample Utterances
와의 연결을 알 수 있다고 생각합니다.
테스트에서도 무사히 이름을 인식하고 있네요, 과연 에코.
감상
이상, 간단한 Rails와의 제휴였습니다. 데이터베이스를 이용하거나 하면 보다 폭이 넓어지는 스킬을 할 수 있다고 생각합니다.
여러분도 아마존 에코로 스킬을 만들어 놀아 보지 않겠습니까? ?
샘플 코드는 이쪽
Reference
이 문제에 관하여(alexa와 Rails를 함께 사용해 봅시다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nsy999jp/items/d86d3347436703ccf8c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
gem 'alexa_rubykit'
class TalksController < ApplicationController
protect_from_forgery with: :null_session
def create
request = AlexaRubykit::build_request(params)
response = AlexaRubykit::Response.new
response.add_speech("あなたの名前は#{request.slots[:MyName][:value]}ですね")
render json: response.build_response
end
end
스킬 등록
개발자 포털 에서 스킬을 등록해 갑니다.

Skill Builder
다음을 누르면 스킬 빌더로 화면이 전환된다고 생각합니다. 그래서 의도를 추가합니다.

이번에는
YourNameIntent
라는 의도를 만듭니다. 그런 다음 Sample Utterances
를 설정합니다.
MyName
라는 부분을 Alexa가 해석해 캐릭터 라인으로서 Rails에 POST 해 줍니다. 설정이 끝나면 빌드 모델하십시오.엔드포인트 설정

Rails 앱에 대한 URL을 설정합니다.
https
라는 것으로 heroku
를 사용하는 것이 특히 아무것도 준비하지 않아도 되므로 추천합니다.글로벌 필드 설정

여기에서 하위 도메인을 확인하십시오.
테스트

서비스 시뮬레이터로 테스트합니다. 발음할 단어를 입력해 보세요. 여기서
Sample Utterances
와의 연결을 알 수 있다고 생각합니다.테스트에서도 무사히 이름을 인식하고 있네요, 과연 에코.
감상
이상, 간단한 Rails와의 제휴였습니다. 데이터베이스를 이용하거나 하면 보다 폭이 넓어지는 스킬을 할 수 있다고 생각합니다.
여러분도 아마존 에코로 스킬을 만들어 놀아 보지 않겠습니까? ?
샘플 코드는 이쪽
Reference
이 문제에 관하여(alexa와 Rails를 함께 사용해 봅시다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nsy999jp/items/d86d3347436703ccf8c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)