How can I update alexa skill after publishing to skill store? - alexa

I wonder what happens behind the scenes when I publish my skill into the skill store.
Does it copy all my intent json to a different secure place ? Or does it still refers the intents in my alexa console ?
I wonder this because if I want to update my skill after I publish the skill, will the skill users be impacted ?
Can I use a different skill endpoint after I publish my skill ?

When your skill is published you will have a live version and development version. Both the live version and the development version of your skill will be shown in the developer console.
You can now make changes only to the development version of the skill like: change in the interaction model, endpoint change etc. Any change in the development version requires your skill to go through the certification process again before its live again.
When you submit your new version for certification, both versions remain in your list until the new version is certified. Once the new version is certified, it becomes live and replaces the previous live version. All the existing users will have the live/latest version of your skill. A new development version is then created so that you can continue making updates.

Related

How to notify user a new version of Alexa skill available?

I have an Alexa skill. If I upload new version my Skill to store, How can I notify existing users to update the skill? Is it possible to give custom notification message?
Unlike in mobile apps, skill user doesn't have to manually update the skill. Once a user enable your skill, that user will always have the latest version of the skill.
When you start working on the next version of your skill, you will have a live version and development version. Both the live version and the development version of your skill are shown on the developer console.
When you submit your new version for certification, both versions remain in your list until the new version is certified. Once the new version is certified, it becomes live and replaces the previous live version. All the existing users will have the live/latest version of your skill. A new development version is then created so that you can continue making updates.
At the moment, there is no way to send notifications to your users.

"Building skill schema failed" error while deploying alexa skill using ask-cli

I have a alexa skill live on amazon skill store. The interaction model of that skill was developed using the skill builder of alexa development portal and the lambda function was uploaded seperately. The skill is live and has many users.
Recently I felt the need of making some changes to that skill. Since now I am using ask-cli for all my alexa skill development, I decided to use the same for this skill too.
Here are the steps I followed:
cloned the skill from the alexa console using command ask clone and selecting the skill I wanted to make changes in.
made the required changes in the skill. Just changed a response, nothing special.
tried deploying the skill again to alexa console using ask deploy command
But I got the following error:
[Error]: Building skill schema failed
I thought that the changes I made might be the cause of it, so I backtracked the changes and made the code as it was when cloned. Then I tried deployig the code again but the error remained the same.
I went through some answers on amazon portal, the most common cause of the issue for others there was some mistake in URI of skill icon URIs. To be sure, I also removed that line from skill.json and tried deploying it again but nothing changed.
Does anyone has any idea of the cause of the above mentioned issue?
Make sure your lambda function has Alexa Skills Kit as trigger. I solved my problem by adding back the trigger (and entering the skill ID).
This steps might able to fix that problem.
Create a new skill in the developer portal.
Create the Lambda function for that skill then add it as an endpoint.
Download the skill via ask-cli
Copy the code in the existing skill to the new skill.
Re deploy using ask-cli.
It might be due to permission error or the appropriate profile used during deployment is configured incorrectly or missing.
If the cause of the issue is your image urls in Skill.json file try this hacky solution
Goto your Alexa skill development portal and select "distribution"
tab
In that upload both small and large icon. ( Do not press save ) if its a new skill,
right click on the image and select open image in new tab and copy
the image URL. now use this URL in the skill.json
This is what i used in my skill when s3 url are all causing issue.

Alexa Skill is currently disabled in development stage when Simulate from Ask CLI [Alexa SDK in NodeJS]

I have created new Skill using Ask CLI.
And deploy both skill & lambda function.
Now I was trying to test skill using ask simulate CLI command but got an error message that Skill is currently disabled in the development stage. Please enable skill in order to call this API.
However, I was still able to test it in Alexa Skill Console (web)
I was used below command for testing.
ask simulate --skill-id amzn1.ask.skill.bc889dcf-fc17-4a64-bbb3-077f6a4f5e39 --text "my newcls
skill" --locale en-US
Did you install the skill?
Check your Alexa app for the list of installed skills to see if it is there. I don't think that creating a skill automatically installs it.
You may even need to reinstall it if a 'live' version was previously installed.

Alexa skill builder beta : builds forever

Under alexa skill kit, when I tried the Skill builder beta and configured the intents and utterances and finally clicked build mode, it builds forever and never stops. It keeps spinning and I am not able to opt out of beta version too. Anyone facing the same problem? Is there a work around.
One workaround is to delete your current skill from the skill kit and re-add. The first time you enter the interaction model step, you can put in your own JSON and not go through the beta builder.

How can I continue developing on my Alexa Skill while it is in 'Certification'?

I just submitted a new version for certification and would like to start developing on my next version with new features.
But somehow - since my skill is in certification mode I can not start a new dev-version.
Is there a way to develop on a new version while it is in this long (4-7 days) certification mode?
Currently you can't modify a skill that is under certification, in general there are three statuses:
Development: The skill is available only to you. If you have enabled it for testing, you can test it on devices registered to your developer account.
Certification: Amazon is currently reviewing the skill for publication. During this time, you cannot edit the configuration.
Live: The skill has been published and is available to users. You cannot edit the configuration for live skills. To start development on an updated version, make your changes on the development version instead.
Once your skill is published to end users (Live status), your skill’s status changes to live. You cannot change the configuration for a live skill. A new development version is automatically created in the developer portal. This version has the same information as the original live version, you can use this new version to continue to work on your skill to improve it and add features.
Taken from the Amazon Alexa documentation.
To clarify what Lorena Salamanca advised in the case of the Skill status being Live, to access the new development version in the developer portal you must click the little Play-type arrow next to the Skill name - this reveals the development version neatly folded underneath.
Jurik refers to the moment prior to the approval of the certification. At this point the best alternative is to generate a copy of your skill and rename it. If you work directly on the console you will not be able to edit your original skill.

Resources