Carte Basique

self.show_basic_card(self, title: str, text: str, small_image_url: Optional[str] = None, large_image_url: Optional[str] = None) -> None:

Fonctionnement

Vous permet d'afficher une carte avec titre, texte et optionnellement une image. Si vous essayez d'afficher une carte sur un appareil ne pouvant pas l'afficher (comme une enceinte Alexa qui n'a pas d'écrans), aucune erreur ne vas se produire, la carte ne seras simplement pas afficher. Si vous souhaitez afficher une image sur un appareil avec une petite taille d'écran (comme un Echo Spot), le titre et le texte de la carte seront affichés, cependant l'image sera caché.

Arguments

title

Obligatoire | Attends une valeur de type str (texte)

Cette argument vous permet de définir le texte qui sera affiché comme le titre de votre carte. En fonction des appareils, il pourras être mis en gros et dans une police de caractères plus grosse.

text

Obligatoire | Attends une valeur de type str (texte)

Cette argument vous permet de définir le texte qui sera affiché comme le contenue de votre carte. Il ne sera pas mis en gras, et la taille de sa police peut s'ajuster en fonction de l'appareil et du nombre de caractères du texte.

small_image_url

Optionnel | Attends une valeur de type str (texte)

large_image_url

Optionnel | Attends une valeur de type str (texte)

Pour en savoir plus sur les dimensions d'images et pourquoi définir une image basse résolution et une grande résolution, voir https://developer.amazon.com/fr-FR/docs/alexa/custom-skills/include-a-card-in-your-skills-response.html#image_size

Example

self.say("Bonjour !") # Cette ligne est une réponse vocal non-requise pour la carte
self.alexa.show_basic_card(title="Voila Robinson !", text="En toute splendeur",
    large_image_url="https://s3.eu-west-3.amazonaws.com/www.inoft.com/img/team_robinson_128x128.jpg")
Carte avec titre, texte et image sur un téléphone avec l'application mobile Alexa
Même carte mais sur simulateur d'appareil avec une taille d'écran moyenne (Echo Show)
Même carte, mais sur simulateur d'un appareil avec une petite taille d'écran (Echo Spot)

Usage

app.py
from inoft_vocal_framework import InoftSkill, \
    InoftRequestHandler, InoftDefaultFallback

class LaunchRequestHandler(InoftRequestHandler):
    def can_handle(self) -> bool:
        return self.is_launch_request()

    def handle(self):
        self.say("Bonjour !")
        self.alexa.show_basic_card(title="Voila Robinson !",
            text="En toute splendeur",
            large_image_url="https://s3.eu-west-3.amazonaws.com/www.inoft.com/img/team_robinson_128x128.jpg"
        )
        # Si une erreur se produis ou que l'image n'apparait pas,
        # cela veut dire que le lien de l'image ne fonctionne plus.
        # Utiliser le lien de n'importe quel autre image (tant qu'elle
        # respecte les conditions d'hébergement d'images d'Alexa)
        return self.to_platform_dict()

# Une classe de DefaultFallback est obligatoire dans toutes applications
class DefaultFallback(InoftDefaultFallback):
    def handle(self):
        self.say("J'ai pas compris mon ami !")
        return self.to_platform_dict()

def lambda_handler(event, context):
    skill = InoftSkill()
    skill.add_request_handler(LaunchRequestHandler)
    skill.set_default_fallback_handler(DefaultFallback)
    return skill.handle_any_platform(event=event, context=context)
    
# Uniquement si le fichier est lancer depuis une machine local (et non sur
# le cloud). L'application sera lancé en simulant le lancement d'un skill Alexa.
if __name__ == "__main__":
    from inoft_vocal_framework import Simulator
    event_, context_ = Simulator(event_type="alexa/start").get_event_and_context()
    print(f"\n\nFinal Output : {lambda_handler(event=event_, context=context_)}")

Mis à jour

Ce contenu vous a-t-il été utile ?