Search code examples
alexa-voice-servicealexa-skills-kit

developing and testing alexa skill (with authorization)


I am about to develop my first custom skill for Alexa. I do not have a Echo device.

What I did was to creating and testing a basic skill with the amazon developer console (Alexa Skill + Lambda).

Now I'm have some general (nooby) questions here:

1) Is this really the way you have to develop and test your custom skills? I mean it is not the real user experience that can be tested. You have to enter the text and analyse the JSON request/responses. So, there is no realistic end-to-end testing possible?

2) What happens when you finish the developing phase in the Amazon developer console? I'm currently in the Testing step but I can see that the next steps are about publishing information (images, texts, etc.) and I can also see the button "Submit for Certification". So for me it seems that my custom skill gets published on some kind of market to other Alexa users? Is this correct? Is there a way to just use this skill for my personal usage - just like a APK-file Android app?

3) I'm developing a custom skill that needs some kind of authorization (User). I see there is a large article about it and it seems that there is some action on the Alexa App needed on the smartphone. My question is now here, how to test it without having a real device? Is it actually possible?


Solution

    1. I'd suggest, first test locally, then use the test console and finally, you can use https://echosim.io which will provide you a very close test bed to what you get when interacting with the Echo (more precisely, the Echo Tap, you have to tap the button for it to listen).
    2. If you just want the skill for yourself, forget about anything past the testing step. That extra information is only for the "store" as you guessed.
    3. If you only need to identify individual users, then you DO NOT need to use the user authentication stuff. There is a unique user identifier provided in every request. If you want to authenticate users with a third party Oauth-like scheme, then read that document.