Come creare una carta casa in Alexa


8

Sto cercando di sviluppare la mia prima abilità e non trovo le informazioni adeguate su come creare una carta casa

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/providing-home-cards-for-the-amazon-alexa-app#creating-a-basic-home-card- a-display-text

dice che dovevo aggiungerlo alla risposta JSON, non capisco dove si trova esattamente la risposta JSON?

Ogni aiuto è molto apprezzato.

Risposte:


4

Dal tutorial di Amazon:

Quando si utilizza la libreria Java:

Crea un oggetto SimpleCard.

Chiama i metodi setTitle () e setContent () dell'oggetto per impostare il titolo e il contenuto.

Passa l'oggetto carta a uno dei due

SpeechletResponse.newTellResponse() 
   or 
SpeechletResponse.newAskResponse() 

per ottenere una risposta vocale che include la scheda.

Quindi, fondamentalmente nella soluzione Java collocare i dati dalle chiamate di funzione json a Java nel codice.

Un esempio più completo su SpechletResponse è in HelloWorldSpeechlet .

Puoi prendere un repository pronto come soluzione di base per la tua funzione Lambda (sopra il codice fa parte di uno) e modificare l'origine come preferisci.

Creerai un'abilità con intenti nel portale per sviluppatori, creerai la funzione Lambda ad es. in Java (almeno anche Node.js e Python) e metterlo in esecuzione in AWS e mapparlo insieme all'abilità nel Portale per gli sviluppatori.

Successivamente viene il luogo del jsoning: la fase di Test. È possibile inviare i dati JSON al servizio e verificarli in JSON.

Nota a margine: nel caso delle carte la risposta dovrebbe contenere una carta, quindi posizionare json in questo contesto è un po 'mancante. Fai solo generare il servizio Alexa.

Versione Java delle abilità alexa, contenente tutto il codice necessario di cui avrai bisogno:

https://github.com/amzn/alexa-skills-kit-java/blob/master/README.md


Rispondi alla domanda "dove": nel codice Java / python / Node.js della tua funzione Lambda.
mico,

Questo esempio è stato condotto in Java, altri hanno le loro peculiarità su come posizionare esattamente i valori, mettere il principio rimarrà.
mico,

5

Sezione Creazione di una Home Card di base per visualizzare il testo

Per creare una scheda semplice, includere la cardproprietà nella risposta JSON: impostare typesu Simple.

  • Impostare le proprietà titlee contentsul testo da visualizzare.
  • Utilizzare “\r\n”o “\n”all'interno di contentper inserire le interruzioni di riga.
 {
   "version": "1.0",
   "response": {
     "outputSpeech": {"type":"PlainText","text":"Text to speak back to the user."},
     "card": {
       "type": "Simple",
       "title": "Example of the Card Title",
       "content": "Example of card content. This card has just plain text content.\nThe content is formatted with line breaks to improve readability."
     }
   }
 }

Lo snippet sopra riportato greyè lo snippet JSON. Nota il "card":testo nello snippet.


1
Ma dove dovrei aggiungere il JSON? nella funzione lambda?
Cartman,

0

Nel codice potrebbe apparire così se stai usando node.js

const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return handlerInput.requestEnvelope.request.type === 'LaunchRequest';
    },
    handle(handlerInput) {
        var reprompt = '';
        const speakOutput = 'Protokollaufnahme gestartet.';
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .reprompt(reprompt)
            .withSimpleCard('Protokollaufnahme', speakOutput)
            .withShouldEndSession(false)
            .getResponse();
    },
};

La scheda è inizializzata nella risposta in questo modo:

.withSimpleCard('title', 'content')

Con questo viene automaticamente aggiunto all'output json

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.