-
第一個背景處理程式
這裡選擇使用亞馬遜alexa的java sdk進行開發:
https://developer.amazon.com/docs/alexa-skills-kit-sdk-for-java/set-up-the-sdk.html
配置alexa skill(二) 直接下載下傳alexa的官方demo:
https://github.com/alexa/alexa-skills-kit-sdk-for-java/tree/2.0.x/samples/helloworldservlet
拷貝部分必須程式,包含helloworld、launch兩個處理器和一個servlet。其中launch負責處理alexa skill開啟的動作,helloworld負責處理alexa控制台上配置的intents(例如之前配的Heater)。HelloWorldServlet負責提供接口對接alexa skill。
配置alexa skill(二) -
改寫例子程式,使支援Heater意圖的處理
新增Heater意圖處理器:
在HelloWorldServlet上注冊HeaterIntentHandler,并把alexa skill控制台上的技能id複制到withSkillid上配置alexa skill(二) 完整的項目目錄:配置alexa skill(二) 配置alexa skill(二) -
測試結果
把上面的項目打包運作,然後把servlet的通路位址配置到alexa skill的endpoint上。儲存後建構好alexa skill項目準備測試
配置alexa skill(二) 打開技能測試頁面:
1、輸入“open test”打開我們的技能,這時alexa會向我們的服務發送一個請求。這個請求會交給LaunchRequestHandler處理。處理完成後伺服器傳回“Welcome to the Alexa Skills Kit.”到測試界面顯示。
2、接着輸入“Tom helped me heat the water to fifty degrees Celsius.”,這時alexa也會向我們的服務發送一個請求。由于亞馬遜語意分析對比後發現這個語句是Heater意圖裡面的指令,是以這個請求的意圖類型參數是Heater,會交給HeaterIntentHandler處理。處理完成後伺服器傳回“Your device Tom is heating water to 50 degrees Celsius.”到測試界面顯示。
配置alexa skill(二) -
總結
到此,已經實作了alexa skill跟我們平台最基礎的互動工作。其他功能可以在此基礎上拓展。