A presentation at Leeds Sharp in February 2020 in Leeds, UK by Steven Pears
Alexa.NET – More Than Voice Name : Steven Pears Twitter: @stevenpears Github: stoiveyp
Little about me Work for Experian 🔥 1 Outage / Decade 📜 Certified Skill Builder
Little about Alexa
Little about Alexa English (AU) English (CA) English (IN) English (UK) English (US) French (CA) French (FR) German (DE) Hindi (IN) Italian (IT) Japanese (JP) Portuguese (BR) Spanish (ES) Spanish (MX) Spanish (US)
Little about Alexa 28,000 devices can work with Alexa 150 with Alexa built in No official .NET SDK
Alexa.Net https://github.com/timheuer/alexa-skills-dotnet
Roll Caster
Request Flow “Alexa, open Roll Caster” {Request} Alexa “Hello” {Response} User Female by Noe Araujo from the Noun Project
APIs API by Becris from the Noun Project
Request Flow {Request} Request Type Request Data Request Context Device Information User Identification API Access {Response} User Female by Noe Araujo from the Noun Project
Progressive Response https://developer.amazon.com/blogs/alexa/post/d9e00269-1c6c-44d1-91ec-0d8c92a919db/keep-users-engaged-entertained-while-processing-skill-responses
Progressive Response Send audio while processing a request Up to five “progressive” responses for each final response Great for passive confirmation
Personalisation https://developer.amazon.com/blogs/alexa/post/32191ba2-6bd4-43c0-99d3-fcc63bf1f9d6/getting-started-with-cake-walk-using-the-alexa-settings-api-to-look-up-the-device-time-zone
Customer Profile Given Name Full Name Mobile Number Address NuGet: Alexa.NET.CustomerProfile
Settings API Time Zone Distance Temperature NuGet: Alexa.NET.Settings
Reminders https://developer.amazon.com/blogs/alexa/post/e65a0e17-2716-4714-8d02-a50210fdd494/now-available-enable-reminders-for-your-skills-with-alexa-reminders-api
Reminders Created while using skill Absolute / Relative time Recurring Confirmed by the user NuGet: Alexa.NET.Reminders
Proactive Events https://developer.amazon.com/blogs/alexa/post/7822f3ee-1735-4eaa-9aa6-5b8e39953c07/proactiveeventsapi-launch-announcement
Proactive Events Sent to the user as required (still confirmed) Specific types of Events (Order status, Weather Alert etc.) Push Notifications NuGet: Alexa.NET.ProactiveEvents
Request Flow “Alexa, open Roll Caster” {Request} APIs Alexa “Hello” {Response} User Female by Noe Araujo from the Noun Project
Request Flow “Alexa, open Roll Caster” {Request} APIs Alexa Directive “Hello” Cards {Response} User Female by Noe Araujo from the Noun Project
Directives rules by Marie Van den Broeck from the Noun Project
Alexa Presentation Language https://developer.amazon.com/blogs/alexa/post/1dee3fa0-8c5f-4179-ab7a-74545ead24ce/introducing-the-alexa-presentation-language-preview
APL
RenderDocument NuGet: Alexa.NET.APL
Basic Controls Text Button Image Video
Layout Controls Container Pager Sequence
Data Binding Items: “${payload.itemlist}” Text: “${data.rollnumber}”
Data Binding When: “${viewport.shape == ‘rectangle’}” When: “${viewport.width > 1024}”
Responsive Controls Background Button Divider Header Footer Image Ordinal Page Counter Text List Item Headline TextListItem
Alexa “Show my history”
Commands Alexa Show Page 1 ExecuteCommandDirective
Commands Alexa Tap #1 UserEventRequest
Commands AutoPage SetPage ScrollToIndex ScrollToComponent SpeakItem Parallel Sequential
ExecuteCommands (v1.1) SetValue AnimateItem Custom Commands OnMount
APLT
In-Skill Purchasing https://developer.amazon.com/blogs/alexa/post/5d852c9c-8cdf-45c1-9b68-e2f02af26c89/make-money-with-alexa-skills
Products Entitlement Subscription Consumable NuGet: Alexa.NET.InSkillPricing
ConnectionRequest Buy Cancel Upsell
ConnectionResponse Bought Already Owned Purchased
Gadgets https://developer.amazon.com/blogs/alexa/post/ef044c94-db8e-49da-97a6-da124b0f786b/tips-for-building-echo-button-skills-with-the-gadgets-skill-api-beta
Gadgets NuGet: Alexa.NET.Gadgets
Gadgets Alexa Roll Call! StartInputHandler
Gadgets Alexa Device IDs InputHandlerEvent
Gadgets Alexa Events & Patterns StartInputHandler
Gadgets Alexa Event & Timeout InputHandlerEvent
Custom Interfaces ALL THE GADGETS! Pair over Bluetooth to device Messages use Protocol Buffers
Custom Interfaces Alexa ? ALL THE GADGETS!
Custom Interfaces Alexa Do Stuff SendDirective
Custom Interfaces Alexa Tell me stuff StartEventHandler
Custom Interfaces Alexa I DID STUFF! EventsReceived
Personalisation https://developer.amazon.com/blogs/alexa/post/db4c0ed5-5a05-4037-a3a7-3fe5c29dcb65/use-dynamic-entities-to-create-personalized-voice-experiences
Dynamic Entities “Roll {CustomName}” {CustomName}: My Dice
DialogUpdateDynamicEntities “Roll {CustomName}” {CustomName}: My Dice + Fireball + Flaming Hands
Leftovers Leftovers by Claire Jones from the Noun Project
Alexa.NET.Management
Management
Alexa.NET.RequestHandlers
Request Handlers bool CanHandle(SkillInformation information) SkillResponse Handle(SkillInformation information)
Request Handlers Launch Roll RollAgain Breakdown RollHistory BuySpecificProduct BuyAnyProduct PurchasedRollHistory DeclinedRollHistory ErrorRollHistory Help Fallback SessionEnded
Resources Alexa Blogs: https://developer.amazon.com/blogs/alexa/ Design Guide: https://developer.amazon.com/alexa-skills-kit/design Twitter: https://twitter.com/alexadevs
Alexa, end my talk. “Certainly. Are there any questions you’d like answered?”
View Alexa.NET - More Than Voice on Notist.
Dismiss