Megosztás a következőn keresztül:


Parancs frissítése ügyfélalkalmazásból

Fontos

Az egyéni parancsok 2026. április 30-án megszűnnek. 2023. október 30-ától nem hozhat létre új Egyéni parancsokat a Speech Studióban. A módosítással kapcsolatban a LUIS 2025. október 1-jén megszűnik. 2023. április 1-től nem hozhat létre új LUIS-erőforrásokat.

Ebből a cikkből megtudhatja, hogyan frissíthet egy folyamatban lévő parancsot egy ügyfélalkalmazásból.

Előfeltételek

Parancs állapotának frissítése

Ha az ügyfélalkalmazás megköveteli, hogy hangbemenet nélkül frissítse egy folyamatban lévő parancs állapotát, elküldhet egy eseményt a parancs frissítéséhez.

A forgatókönyv szemléltetéséhez küldje el a következő eseménytevékenységet egy folyamatban lévő parancs állapotának frissítéséhez (TurnOnOff):

{
  "type": "event",
  "name": "RemoteUpdate",
  "value": {
    "updatedCommand": {
      "name": "TurnOnOff",
      "updatedParameters": {
        "OnOff": "on"
      },
      "cancel": false
    },
    "updatedGlobalParameters": {},
    "processTurn": true
  }
}

Tekintsük át a tevékenység legfontosabb attribútumait:

Attribútum Magyarázat
type A tevékenység típusa "event".
név Az esemény nevének a következőnek kell lennie "RemoteUpdate": .
value Az attribútum "value" tartalmazza az aktuális parancs frissítéséhez szükséges attribútumokat.
frissítettCommand Az attribútum "updatedCommand" tartalmazza a parancs nevét. Ezen az attribútumon "updatedParameters" belül egy térkép, amelyen a paraméterek neve és a frissített értékek szerepelnek.
Mégse gombra Ha a folyamatban lévő parancsot le kell mondani, állítsa az attribútumot "cancel" a következőre true: .
frissítettGlobalParameters Az attribútum "updatedGlobalParameters" ugyanúgy térkép, mint "updatedParameters"a globális paraméterek esetében.
processTurn Ha a turnet a tevékenység elküldése után kell feldolgozni, állítsa az attribútumot "processTurn" a következőre true: .

Ezt a forgatókönyvet az Egyéni parancsok portálon tesztelheti:

  1. Nyissa meg a korábban létrehozott Egyéni parancsok alkalmazást.
  2. Válassza a Betanítása , majd a Tesztelés lehetőséget.
  3. Küldés turn.
  4. Nyissa meg az oldalpanelt, és válassza a Tevékenységszerkesztő lehetőséget.
  5. Írja be és küldje el az RemoteCommand előző szakaszban megadott eseményt.

    Screenshot that shows the event for a remote command.

Figyelje meg, hogy a paraméter "OnOff" értéke hogyan lett beállítva "on" az ügyfél tevékenységén keresztül beszéd vagy szöveg helyett.

Egy parancs paraméterének katalógusának frissítése

Ha egy paraméter érvényes beállításainak listáját konfigurálja, a paraméter értékei globálisan lesznek definiálva az alkalmazás számára.

A példánkban a paraméter a SubjectDevice beszélgetéstől függetlenül rögzített listát tartalmaz a támogatott értékekről.

Ha beszélgetésenként új bejegyzéseket szeretne hozzáadni a paraméter katalógusához, a következő tevékenységet küldheti el:

{
  "type": "event",
  "name": "RemoteUpdate",
  "value": {
    "catalogUpdate": {
      "commandParameterCatalogs": {
        "TurnOnOff": [
          {
            "name": "SubjectDevice",
            "values": {
              "stereo": [
                "cd player"
              ]
            }
          }
        ]
      }
    },
    "processTurn": false
  }
}

Ezzel a tevékenységgel egy bejegyzést "stereo" adott hozzá a paraméter "SubjectDevice" katalógusához a parancsban "TurnOnOff".

Screenshot that shows a catalog update.

Jegyezze fel néhány dolgot:

  • Ezt a tevékenységet csak egyszer kell elküldenie (ideális esetben közvetlenül a kapcsolat elindítása után).
  • A tevékenység elküldése után meg kell várnia, amíg az esemény ParameterCatalogsUpdated vissza lesz küldve az ügyfélnek.

További környezet hozzáadása az ügyfélalkalmazásból

Beszélgetésenként több környezetet is beállíthat az ügyfélalkalmazásból, amelyet később használhat az Egyéni parancsok alkalmazásban.

Gondoljon például arra a forgatókönyvre, amelyben el szeretné küldeni az Egyéni parancsok alkalmazáshoz csatlakoztatott eszköz azonosítóját és nevét.

A forgatókönyv teszteléséhez hozzunk létre egy új parancsot az aktuális alkalmazásban:

  1. Hozzon létre egy új parancsot.GetDeviceInfo

  2. Adjon hozzá egy példamondatot.get device info

  3. A kész szabályban adjon hozzá egy Beszédüzenet küldése műveletet, amely tartalmazza a következő attribútumaitclientContext: . Screenshot that shows a response for sending speech with context.

  4. Mentse, tanítsa be és tesztelje az alkalmazást.

  5. A tesztelési ablakban küldjön egy tevékenységet az ügyfélkörnyezet frissítéséhez.

    {
       "type": "event",
       "name": "RemoteUpdate",
       "value": {
         "clientContext": {
           "deviceId": "12345",
           "deviceName": "My device"
         },
         "processTurn": false
       }
    }
    
  6. Küldje el a szöveget get device info. Screenshot that shows an activity for sending client context.

Jegyezze fel néhány dolgot:

  • Ezt a tevékenységet csak egyszer kell elküldenie (ideális esetben közvetlenül a kapcsolat elindítása után).
  • Összetett objektumokat is használhat a következőhöz clientContext: .
  • Beszédválaszokban, tevékenységek küldéséhez és webes végpontok hívásához használható clientContext .

Következő lépések