天天看點

配置alexa skill(二)

  1. 第一個背景處理程式

    這裡選擇使用亞馬遜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(二)
  2. 改寫例子程式,使支援Heater意圖的處理

    新增Heater意圖處理器:

    配置alexa skill(二)
    在HelloWorldServlet上注冊HeaterIntentHandler,并把alexa skill控制台上的技能id複制到withSkillid上
    配置alexa skill(二)
    完整的項目目錄:
    配置alexa skill(二)
  3. 測試結果

    把上面的項目打包運作,然後把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(二)
  4. 總結

    到此,已經實作了alexa skill跟我們平台最基礎的互動工作。其他功能可以在此基礎上拓展。

繼續閱讀