You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Think voice first and screen second (not a requirement), provide context and mind the 8 seconds response rule (no information overload)
@@ -160,10 +168,118 @@ npx alexa-sfb
160
168
161
169
## Invocation Name
162
170
171
+
> Only used for Custom Skill, not needed for prebuilt model
172
+
163
173
[Invocation Name Requirements](https://developer.amazon.com/en-US/docs/alexa/custom-skills/choose-the-invocation-name-for-a-custom-skill.html#cert-invocation-name-req)
164
174
165
175
Invoking using:
166
176
167
-
- IntentRequest
168
-
- LaunchRequest (no intent)
169
-
- CanFulfillIntentRequest (no name)
177
+
- IntentRequest (Alexa - tell APP to do something)
178
+
- LaunchRequest (no intent - Alexa open App)
179
+
- CanFulfillIntentRequest (no name, Alexa searches for a skill to match request)
180
+
181
+
> Intent is an action that fulfills user's request (has a NAME and list of UTTERANCES)
182
+
183
+
2 types of Intents:
184
+
185
+
- Built-in
186
+
187
+
Standard
188
+
_CancelIntent_
189
+
_HelpIntent_
190
+
_StopIntent_
191
+
_FallbackIntent (no match)_
192
+
NextIntent
193
+
YesIntent
194
+
NoIntent
195
+
PauseIntent
196
+
SearchAction (lookup information)
197
+
198
+
Standard with screen
199
+
_NavigateHomeIntent_ (ends skill session, user leaves the skill)
[Slot Type Reference](https://developer.amazon.com/en-US/docs/alexa/custom-skills/slot-type-reference.html)
208
+
209
+
## Interfaces
210
+
211
+
Audio Player - streaming audio and monitoring playback
212
+
Display/ DisplayTemplate
213
+
Video App - streaming video files
214
+
GadgetController / GameEngine
215
+
CanFulfillIntentRequest - no name
216
+
Alexa Presentation Language
217
+
Auto Delegation / Dialog
218
+
219
+
[List of Alexa Interfaces and Supported Languages](https://developer.amazon.com/en-US/docs/alexa/device-apis/list-of-interfaces.html)
220
+
221
+
## Request Types
222
+
223
+
- LaunchRequest - opening the skill
224
+
- IntentRequest - sent when intent corresponds with user query
225
+
- SessionEndedRequest - when session ends (any reason)
226
+
- CanFulFillIntentRequest - when Alexa is querying if there is a skill that can fulfill the intent (can opting but then need to implement it for all intents)
227
+
228
+
## Handlers
229
+
230
+
Request Handlers - handle incoming request and response
231
+
Exception Handlers - for errors
232
+
Handler Classes - implement the abstract class `AbstractRequestHandler` and its two methods, `can_handle()` and `handle()`
233
+
234
+
> Leverage userId and deviceId for personalization and segmentation along with DynamoDB
235
+
236
+
## Screen Devices
237
+
238
+
[Available standard built-in intents for Alexa-enabled devices with a screen](https://developer.amazon.com/en-US/docs/alexa/custom-skills/standard-built-in-intents.html#built-in-intents-echo-show)
239
+
240
+
> Must implement Amazon.PreviousIntent and Amazon.NextIntent
241
+
242
+
Card types:
243
+
244
+
- Simple (title and content)
245
+
- Standard (title, text and image)
246
+
- Linked Account
247
+
- AskForPermissionsConsent
248
+
249
+
[Cards displayed on Alexa-enabled devices with a screen](https://developer.amazon.com/en-US/docs/alexa/custom-skills/best-practices-for-skill-card-design.html#types-of-cards)
250
+
251
+
[When to include cards, and how often?](https://developer.amazon.com/en-US/docs/alexa/custom-skills/best-practices-for-skill-card-design.html#when-to-include-cards-and-how-often)
252
+
253
+
> _Limit the number of cards_ Too many will take the user out of the voice experience. Avoid pushing cards with every response, unless it is absolutely necessary.
254
+
255
+
> For screen devices, voice should remain the primary form of interaction, and as much as possible, the user should be able to navigate through the skill strictly by voice.
0 commit comments