Certifying your Alexa skill means getting it published to the Alexa Skills Store, which allows it to become publicly available to customers so that they can find, enable, and interact with it. This is an important final step in the building process of your skill, as it presents it to the audience that you’ve spent so much time and effort building it for. Before your skill can be published, however, it must be submitted for certification and pass review. There can be a lot of information to keep in mind before this step, and if you’re working against a deadline, you’ll want to make sure that you’ve got all of your bases covered to get it through the certification process in time. Here are some tips to set you up for a successful certification process.
Tip #1: Add Pertinent Information to Your Skill’s Testing Instructions
The testing instructions field for your skill is located in the developer console’s Distribution tab under Privacy & Compliance and is crucial in helping to move your skill through publication. Think of it as a means to communicate directly with the certification team, providing information that they may need during the testing of your skill. Here are some examples of what you should add there:
- Account linking test credentials if your skill implements the account linking feature
- Contact Us case ID numbers and an overview of correspondences opened through the developer support channel that may be relevant to your skill’s certification
- External links to IP rights documentation (such as proof of trademark registration or a license agreement with the rights owner) if your skill uses a brand name, trademark, or other intellectual property
- A list of directives/commands your skill supports if your skill uses any Smart Home APIs
- If your skill has a major behavior change based on an external factor (for example, a winter sports event skill that behaves differently during the summer), indicate that so testers can verify behavior before and after the factor
Tip #2: Test Your Skill with the Alexa Simulator Using Voice as Well as Text
The Test tab in the developer console can be a very useful tool for identifying issues with your skill’s functionality. Many developers are aware of the text capability of the Alexa simulator, but it’s also important to use the voice option of this tool, because users will most likely be interacting with your skill exclusively through voice. To start, you will need to ensure that testing is enabled for your skill by selecting Development in the drop-down menu at the top of the Test tab for your skill. From there, you can click and hold the mic button in the input box and invoke your skill. Using this tool, you can launch and interact with it as a user would to gain insight into its functionality and usability (for example: whether your invocation name is reliably understood). If your skill doesn’t perform as intended, you can check your history in the Alexa app to find out exactly what the device is hearing and if Alexa was able to connect to your skill. History can be found in your Alexa app by navigating to the “hamburger” menu (three horizontal lines) in the top left corner, and then to Settings > Account Settings > History. To learn more about the Alexa Simulator, check out this blog post.
Tip #3: Test All of Your Skill’s Defined Sample Utterances
It’s important to test the utterances for your skill to ensure that they have a user-friendly flow within the skill’s functionality. Try to imagine how a new user of your skill would interact with it. You will want your skill to engage the user and give them a relevant response for each request. If you experience any recognition issues while testing, check that your sample utterances and slot values are correctly formatted. For slot values in particular, keep in mind that acronyms and other phrases involving spoken letters should either be in all caps ("HD") or separated by periods and spaces ("h. d. "). Using lowercase formatting for initialisms may lead to unreliable recognition since the spoken form may not be correctly detected.
It’s also important to manage your sessions within your skill so that they react appropriately to the user’s interaction. When requesting a response from the user, your skill will prompt the user with a question and their Alexa-enabled device will wait for a voice response. If your skill doesn’t provide this prompt before keeping a session open, the user may not understand that a response is being requested from them, and they won’t know how to interact with your skill properly. Similarly, make sure that your skill’s session closes when a user’s request is completed. Check out our documentation on managing skill sessions for more information.
Tip #4: Test Each Language Model for Your Skill
If you’ve added multiple languages to your skill, you’ll want to test the functionality for each language model to ensure they’re all working as intended. To do this, you can switch between languages with the language drop-down for your skill in the developer console and use the Alexa Simulator in the Test tab. Do be aware that there are some limitations to the Simulator, however, such as not having the ability to render audio or video playback and not supporting testing of flash briefing skills.
You can also test the different language models on an Alexa-enabled device. If you decide to go this route, keep in mind that you many need to change the language setting for your device. You can do this in the Alexa app with the following steps:
1. Open the Alexa app
2. Tap the menu in the top left corner
3. Tap Settings
4. Tap Device Settings
5. Tap your Alexa-enabled device
6. Tap Language and choose the language that matches the version of your skill that you'd like to test
Please note that not all devices support all language locales. In these instances, you can go to the Test tab in the developer console and use the voice option in the Alexa Simulator.
It can be easy to overlook testing each language model, but it’s an important step to ensure users from all supported locales can navigate your skill successfully.
Tip #5: If Your Skill Requests Permissions from Your Users, Explain Why
Your skill can request various permissions from its users, and these permissions can include contact information such as their name, email address, and phone number. You can also request permissions through your skill for functionalities such as Alexa Reminders. When requesting these permissions, ensure that your skill provides detailed information as about why they’re needed and how users can enable them in the Alexa app. Configure your skill to provide a voice prompt similar to the sample messages listed in the Alexa Skills Kit documentation and display a permissions card for users to reference and provide consent. Your skill needs to be transparent in what it will be doing with a user’s information, as this will help customers understand how granting these permissions will improve the functionalities of your skill.
With these tips in mind, your skill should be well prepared for the certification process. Please note that if your skill does fail review, certification feedback will be sent to your company email which may be different than your specific developer account login email. The company email address is located under Company Profile in your account's Settings tab. If you’re unable to view this tab, you must reach out to your account’s administrator.
Passing review is the final step in the skill-building process, and it’s one of the most important as it allows for your skill to be presented in a public setting for your customers to use. Without preparation, it can prove to be a lengthy procedure. We hope that these tips help you prepare for a swift, successful certification.