Deploying or publishing Alexa skills - alexa

It's my first few hours today to use Alexa so please bear with me for now.
I followed a tutorial that I found and was able to configure Alexa skills upto the Lamdba function. I was able to use the Test section inside Lamdba service and it worked really well. It can pull data from the external api. I was able to click the Listen button too.
However, I can't figure out how I will deploy this so that I can call the utterances using my real physical Alexa device. Not sure what to do next. And is it possible that I'll be the only one to use it?

You don't have to publish it to use it on your physical alexa device. As long as the alexa device is configured with the same Amazon account that you use to configure your skill then you can use the skill 'live' on your device.
In the configuration, I believe you must have progressed to the 'test' tab, but you don't need to fill in the publishing info to test the skill both virtually and on the device.

Related

How to call Alexa externally?

I have set up an Echo Dot device for my account. My intent is to call an Alexa skill on this device externally.
I have seen a lot of tutorials, but I could only see that these skills were started by voice.
Is there any way to trigger an Alexa skill by using an API, and not using voice at all? If not, what would be the market available alternatives for such a workflow?
It's not possible yet to trigger Alexa directly without Alexa wasn't asked. You could use notifications. Alexa will have a yellow ring and user has to ask for messages.
See https://developer.amazon.com/en-US/docs/alexa/smapi/proactive-events-api.html for details.
I've found a way of achieving this.
By using IFTTT, there is a skill called IFTTTriger that you can install in your Alexa device, and later on, install the https://mkzense.com/iftttrigger . In that way, I was able to create an IFTTT applet that could trigger Alexa using a virtual device.
That is the only way available as of now. Worked perfectly well.

Virtual devices for testing alexa smart home skill

I am working on Amazon smart home skill for controlling the smart home appliances. I am done with creating a skill for that. Now I want to test my skill with any type of virtual device. Is there any way (or virtual devices) for testing the smart home skill without using the physical device.
There's 2 options I use for testing without having physical hardware in front of me.
While editing the skill in the developer console (developer.amazon.com) there's a 'Test' tab that allows you to test out your skill and see payloads sent/returned too.
There's also a cool online tool called Echoism (https://echosim.io/welcome) that will allow you to log into your Amazon account and interact with Alexa through the browser. To use this you'll need to make sure tests are enabled for the skill through the developer console in your account.
There are also some libraries depending on what language you're writing in that will allow you to test locally without having to deploy to lambda first. If you're using Node.js try out node-lambda (https://www.npmjs.com/package/node-lambda). You can create your own payload and test that against your skill locally. You can also package up your skill, test it and then deploy to lambda via terminal. If you're using Python then try out PythonLambda (https://github.com/nficano/python-lambda). It has the same features as node-lambda.

Can Alexa (echo dot) access a skill that is still in the development mode?

I've found this amazing site to generate my first Alexa skill.
I've uploaded the standard template they have and it passes all the checks.
Please note that this skill has not published yet
and When I say (to the device), Alexa, open api starter, Alexa (device) cannot find that. I have an echo dot 2nd gen.
Do we need to publish a skill to be available for the Alexa device?
In my test mode, I've already enabled the Test for this skill.
Yes, you can use the skill locally for development purposes. If you go to the Alexa apps you should see your app located in there and you can then install it. Once installed you can ask Alexa to open the app.
Although, you can't use other peoples apps that are in development because the app is associated with the Amazon account.
You need to register your device to the development account that you are using.
Once logged in from your development account go here (alexa.amazon.com)
Go to the settings tab and click set up a new device
You will be guided through simple instructions on how to connect your device.
Once you successfully connected the device, you can use all skills from your developer account.
Note: You can have more devices connected to the same developer account, but each device can be connected to just one developer account at a time.
Unfortunately this doesn't work all the time - not sure if it's missing information (for instance on the Echo Screen you have to tap the serial number repeatedly to put the device into dev mode - there doesn't seem to be the same thing for the dot - and if there is it's not mentioned here.)
It could also just be the sheer number of variables in both the alexa ecosystem, the app and what phone it is on and the network the device is connected to and the dec console. One set of instructions doesn't always cover all the possibilities.'
I have found that when using the skill kit with vscode that I have to go into the web-based skill editor and do a build before it works with an echo device.

How can I test Amazon Alexa apps with multiple users?

I've been developing an Alexa skill and I need to keep some state between requests on a per-user basis. I'm using the flask-ask framework and it works well with a single user, but clearly I need to test with multiple users, preferably in a simulated environment at first so I can hammer it with multiple requests for multiple users. I don't consider the app ready to go to beta testing yet.
I've scoured the web for this but I can't seem to find an answer; short of setting up multiple Amazon accounts, is there an easy way to test a development skill for multiple users in a simulated environment?
Currently we doesnt have feature to test with multiple user in simulated environment in development environment. In addition, the simulator is not supported for use in multiple browser tabs at the same time. Rather you can use simulator, voice using an Alexa-enabled device linked to developer account, ASK CLI or Use the skill testing features of the Skill Management API simultaneously to test as multiple users. for more details please refer documentation .
Hope this Helps you

How to amazon alexa api for a web or mobile app?

I want to use amazon alexa api for my website/ mobile application. I would like to know if it is possible to use and how to integrate alexa, given that I develop my custom skill.
You can use the Alexa Voice Service. You will need to collect the user's audio and then submit it to Amazon. The voice snippet does not need to contain the hotword (e.g. Alexa). You should be able to use most features that don't involve the device and aren't asynchronous. For example, you can utilize the alarm or timer features nor the music streams.
It sounds like you are asking how to allow the user to talk to your website or mobile app.
An Alexa custom skill is something you create to extend Alexa's vocabulary, so to speak. It isn't an alternative to using a mouse or keyboard with an existing app.
A website and a mobile app are, or can be, two different ways for a user to access the functionality you provide. Think of an Alexa skill as a 3rd way to access that functionality. A user could ask the Alexa device (Echo, Dot, iPhone Lexi app, etc) to get or perform the same things that your website does.
So for example, if your website explains how your widgets work, then you could create a widget Alexa skill that would allow Alexa user's to ask about your widgets.
The Alexa Voice Service is something entirely different. It is an API to enable adding Alexa voice to a different piece of hardware. For example, my friend Thaddeus created an Alexa Voice Service app called Lexi that runs on an iPhone. This allows a user to talk to Alexa using their iPhone. However, it doesn't add any new capability to Alexa. It only allows me to do things on my iPhone that I can already do on my Echo.

Resources