Алекса, получить навык от LaunchRequest Intent - PullRequest
0 голосов
/ 04 октября 2018

В моем аккаунте 3 навыка, например SkillA, SkillB и SkillC.

. Я использую URL-адрес конечной точки для прослушивания этих навыков, и мой сервер является общим для всех3 навыка.Поэтому, если я попытаюсь вызвать навык, сказав open SkillA, он вызовет LaunchRequest.То же самое относится и к другим 2 навыкам.

Итак, как мне узнать, какой скилл LaunchRequest был вызван.

Мой сервер является рубином с Ralyxa Gem.

1 Ответ

0 голосов
/ 04 октября 2018

Для каждого навыка существует уникальный идентификатор навыка, известный как applicationId.Используя этот applicationId из запроса JSON, вы можете легко определить, с какого умения поступил запрос.

Этот applicationId объект application можно найти в каждом запросе от Alexa к вашему бэкэнду.

{
    "version": "1.0",
    "session": {
        "new": true,
        "sessionId": "amzn1.echo-api.session.xxxx-xxxx-xxxx-xxxx-xxxxxxx",
        "application": {
            "applicationId": "amzn1.ask.skill.xxxx-xxxx-xxxx-xxxx-xxxx"
        },
        "user": {
            "userId": "amzn1.ask.account.xxxxxxxxxxxxxx"
        }
    },

...

Вы также можете просмотреть идентификатор навыка из консоли разработчиков Alexa, где перечислены ваши навыки Alexa.

enter image description here

...