Abstraktes Header-Bild in den Farben von tsjdev apps

Blogbeitrag

Überprüfen, ob ein Echo-Device über ein Display verfügt

Wenn man einen Skill für Alexa entwickeln möchte, stellt man sich zu Beginn die Frage, ob man gegebenenfalls das Display eines Echo Shows oder Echo Spots nutzen möchte. Hier lassen sich zusätzliche Inhalte, wie zum Beispiel Bilder oder Texte anzeigen. Nun muss allerdings validieren, ob das Gerät überhaupt über ein Display verfügt, bevor man diese Informationen an das Device zurückschickt.

Wie man einen Skill mit C# entwickelt , habe ich bereits in dem einen oder anderem Beitrag hier gezeigt und nun möchte ich einen kleinen Code-Schnipsel mit euch teilen, welcher validiert, ob das Gerät über ein Display verfügt. Hierbei nutzen wir das Objekt SkillRequest, welches uns das Alexa.NET NuGet Package zur Verfügung stellt. Umgesetzt habe ich das ganze als Extension Method, so dass man die Methode direkt auf dem SkillRequest-Objekt aufrufen kann.

public static bool IsDisplaySupported(this SkillRequest skillRequest)
{
  return skillRequest?.Context?.System?.Device?.SupportedInterfaces != null
    && skillRequest.Context.System.Device.SupportedInterfaces.ContainsKey("Display");
}

Man kann hier sehen, dass geschaut wird, ob in dem Dictionary SupportedInterfaces ein Eintrag mit dem Namen Display enthalten ist. Die gleiche Logik lässt sich auch für Audio-Player und Video-App anwenden.

public static bool IsAudioPlayerSupported(this SkillRequest skillRequest)
{
  return skillRequest?.Context?.System?.Device?.SupportedInterfaces != null 
    && skillRequest.Context.System.Device.SupportedInterfaces.ContainsKey("AudioPlayer");
}

public static bool IsVideoAppSupported(this SkillRequest skillRequest)
{
  return skillRequest?.Context?.System?.Device?.SupportedInterfaces != null
    && skillRequest.Context.System.Device.SupportedInterfaces.ContainsKey("VideoApp");
}

Somit kann man die Antwort seines eigenen Skill leicht anpassen und läuft in keinen Fehler mehr, wenn man auf einem Device ohne Display Informationen zum Rendern eines Bildes schickt.

Weiterempfehlen

Diesen Beitrag teilen

Wenn dir der Beitrag gefallen hat: gern weiterreichen. Gute Links dürfen sich ruhig schnell verbreiten.

Vorheriger/Nächster Beitrag

Slides auf Speaker Deck Vorheriger Beitrag Slides auf Speaker Deck Xamarin.Forms Animationen mit Lottie Nächster Beitrag Xamarin.Forms Animationen mit Lottie
Alexa: Amazon Developer Account anlegen Alexa: Amazon Developer Account anlegen BotTalk: Skill zu Amazon hochladen BotTalk: Skill zu Amazon hochladen BotTalk: Einfache Alexa Skill Entwicklung BotTalk: Einfache Alexa Skill Entwicklung Alexa Skills mit Azure Functions Alexa Skills mit Azure Functions
Lust auf ein kurzes digitales Hallo? Wenn du eine Idee teilen, eine Frage loswerden oder ein Projekt anschieben willst: mein Posteingang ist deutlich zuverlässiger als Brieftauben. apps@tsjdev-apps.de Mail schicken