Cara membuat kartu rumah di Alexa

8

Saya mencoba mengembangkan keterampilan pertama saya dan saya tidak menemukan informasi yang tepat tentang cara membuat kartu rumah

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

mengatakan saya harus menambahkannya ke respons JSON, saya tidak mengerti persis di mana respons JSON itu?

Bantuan apa pun sangat kami hargai.

tukang gerobak
sumber

Jawaban:

4

Dari tutorial Amazon:

Saat menggunakan perpustakaan Java:

Buat objek SimpleCard.

Panggil metode setTitle () dan setContent () objek untuk mengatur judul dan konten.

Lewati objek kartu ke salah satunya

SpeechletResponse.newTellResponse() 
   or 
SpeechletResponse.newAskResponse() 

untuk mendapatkan SpeechletResponse yang mencakup kartu.

Jadi, pada dasarnya di Java solusi tempat data dari json ke panggilan fungsi Java dalam kode.

Contoh yang lebih lengkap tentang SpechletResponse ada di HelloWorldSpeechlet .

Anda dapat mengambil repositori siap sebagai solusi dasar untuk fungsi Lambda Anda (kode di atas adalah bagian dari satu) dan memodifikasi sumber yang Anda inginkan.

Anda akan membuat keterampilan dengan maksud di portal Pengembang, membuat fungsi Lambda misalnya. di Jawa (setidaknya Node.js dan Python juga memungkinkan) dan menjalankannya di AWS dan memetakan bersama-sama dengan keterampilan dalam Portal Pengembang.

Setelah itu tiba tempat jsoning: fase Pengujian. Anda mendorong data json ke layanan dan memverifikasinya di json.

Catatan: Dalam kasus kartu, responsnya harus berisi kartu, sehingga menempatkan json dalam konteks ini sedikit ketinggalan. Anda hanya membuat layanan Alexa menghasilkannya.

Versi Java dari keterampilan alexa, yang berisi semua kode yang Anda perlukan:

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

mico
sumber
Jawab pertanyaan 'di mana': dalam kode Java / python / Node.js dari fungsi Lambda Anda.
mico
Ini adalah contoh yang dipimpin di Jawa, yang lain memiliki kebiasaan sendiri bagaimana cara menempatkan nilai-nilai, menempatkan prinsip akan tetap.
mico
5

Bagian Membuat Kartu Utama Dasar untuk Menampilkan Teks

Untuk membuat kartu sederhana, sertakan cardproperti dalam respons JSON Anda: Setel typeke Simple.

  • Setel titledan contentproperti ke teks untuk ditampilkan.
  • Gunakan salah satu “\r\n”atau “\n”di dalam contentuntuk memasukkan jeda baris.
 {
   "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."
     }
   }
 }

Cuplikan di atas dalam greyadalah cuplikan JSON. Perhatikan "card":teks dalam cuplikan.

menangis
sumber
1
Tapi di mana saya harus menambahkan JSON? dalam fungsi lambda?
kusir
0

Dalam kode itu bisa terlihat seperti ini jika Anda menggunakan 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();
    },
};

Kartu diinisialisasi dalam respons seperti ini:

.withSimpleCard('title', 'content')

Dengan ini secara otomatis ditambahkan ke output json

Elizabeth Hunter
sumber