alexa / alexa-skills-kit-sdk-for-nodejs

The Alexa Skills Kit SDK for Node.js helps you get a skill up and running quickly, letting you focus on skill logic instead of boilerplate code.
Apache License 2.0
3.12k stars 736 forks source link

VideoApp.Launch silently doesn't work #439

Closed dkaraush closed 6 years ago

dkaraush commented 6 years ago

I'm submitting a...


[ ] Regression (a behavior that used to work and stopped working in a new release)
[x] Bug report  
[ ] Performance issue
[ ] Feature request
[ ] Documentation issue or request
[ ] Other... Please describe:

Expected Behavior

My skill sends a VideoApp.Launch directive. Response JSON here:

{
    "version": "1.0",
    "response": {
        "directives": [
            {
                "type": "VideoApp.Launch",
                "videoItem": {
                    "source": "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
                }
            }
        ],
        "outputSpeech": null,
        "card": null,
        "reprompt": null
    },
    "userAgent": "ask-node/2.0.7 Node/v9.2.0",
    "sessionAttributes": {
        "lastRequest": "AcceptIntent"
    }
}

https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4 responds Content-Type: video/mp4, has HTTPS with proper SSL certificate (as I see it).

Current Behavior

Echo Spot after receiving my response just stops. Exits, stops, cancels, quits, I don't know. No SessionEnded request is requested, all I see is a quited from skill Echo Spot.

I have tested on Echo Spot and also a person, which tested my skill after validation (to put it in store). I have also created a new skill, but it behaves the same way.

Steps to Reproduce (for bugs)

I don't know why this happens, and I don't think code is the reason, because I see correct response, which Echo Spot receive and doesn't play. However, my repo (a lot of code): https://github.com/dkaraush/Alexa-YouTube-Client I think a way to reproduce is to send this response, but after seeing it in official documentation (here), which has the same example response, only with metadata (which is optional), I understand, that it is my own trouble.

Your Environment

dkaraush commented 6 years ago

Request:

{
    "version": "1.0",
    "session": {
        "new": false,
        "sessionId": "amzn~~~~~~a7ee-4343-8089-d5fd1f7fc763",
        "application": {
            "applicationId": "amzn1.ask.skill.a7b2efef-0e55-4bea-8404-2c1e2f4f5f1d"
        },
        "attributes": {
            "lastRequest": "SearchVideoIntent"
        },
        "user": {
            "userId": "amzn1.ask.account.AFXXQO7~~~~~4ZIUCSYHOPZSSNMYFOUSKPH753CH4QBDJB3XTGWA"
        }
    },
    "context": {
        "AudioPlayer": {
            "playerActivity": "PLAYING"
        },
        "System": {
            "application": {
                "applicationId": "amzn1.ask.skill.a7b2efef-0e55-4bea-8404-2c1e2f4f5f1d"
            },
            "user": {
                "userId": "amzn1.ask.account.AFXXQ~~~OPZSSNMYFOUSKPH753CH4QBDJB3XTGWA"
            },
            "device": {
                "deviceId": "amzn1.ask.devi~~~~TAM",
                "supportedInterfaces": {
                    "AudioPlayer": {}
                }
            },
            "apiEndpoint": "https://api.amazonalexa.com",
            "apiAccessToken": "eyJ0eXAiOiJKV~~~ckDbgeznoXeZZPP1bzQ"
        }
    },
    "request": {
        "type": "IntentRequest",
        "requestId": "amzn1.echo-api.reque~~~~8d1dc5",
        "timestamp": "2018-07-30T18:46:27Z",
        "locale": "en-US",
        "intent": {
            "name": "AcceptIntent",
            "confirmationStatus": "NONE"
        }
    }
}

Response:

{
    "version": "1.0",
    "response": {
        "card": null,
        "directives": [
            {
                "type": "VideoApp.Launch",
                "videoItem": {
                    "source": "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
                }
            }
        ],
        "outputSpeech": null,
        "reprompt": null
    },
    "userAgent": "ask-node/2.0.7 Node/v9.2.0",
    "sessionAttributes": {
        "lastRequest": "AcceptIntent"
    }
}
tianrenz commented 6 years ago

Hi @dkaraush ,

We've noticed the similar issues with other skills and notified the service team of the behavior.

The response json returned from the SDK seems to be valid. Therefore, we don't think this is a SDK related issue. We would recommend to post general issues on Alexa Developer Forum to get more feedback from the community.

Regards