Cách tạo thẻ nhà ở Alexa


8

Tôi đang cố gắng phát triển kỹ năng đầu tiên của mình và tôi không tìm thấy thông tin phù hợp về cách tạo thẻ nhà

https://developer.amazon.com/public/solutions/alexa/alexa-skills-kit/docs/providing-home-cards-for-the-amazon-alexa-app#creating-a-basic-home-card- hiển thị văn bản

nói rằng tôi phải thêm nó vào phản hồi JSON, tôi không hiểu chính xác phản hồi JSON ở đâu?

Bất kỳ sự giúp đỡ nào cũng được đánh giá cao.

Câu trả lời:


4

Từ hướng dẫn của Amazon:

Khi sử dụng thư viện Java:

Tạo một đối tượng SimpleCard.

Gọi các phương thức setTitle () và setContent () của đối tượng để đặt tiêu đề và nội dung.

Truyền đối tượng thẻ cho một trong hai

SpeechletResponse.newTellResponse() 
   or 
SpeechletResponse.newAskResponse() 

để nhận được SpeechletResponse bao gồm thẻ.

Vì vậy, về cơ bản trong giải pháp Java đặt dữ liệu từ json đến các lệnh gọi hàm Java trong mã.

Ví dụ đầy đủ hơn về SpechletResponse có trong HelloWorldSpeechlet .

Bạn có thể lấy một kho lưu trữ sẵn sàng làm giải pháp cơ bản cho chức năng Lambda của mình (mã ở trên là một phần của một) và sửa đổi nguồn theo ý muốn.

Bạn sẽ tạo một kỹ năng với ý định trong cổng thông tin dành cho nhà phát triển, tạo chức năng Lambda, vd. trong Java (ít nhất là Node.js và Python cũng có thể) và đặt nó chạy trong AWS và ánh xạ cùng với kỹ năng trong Cổng thông tin dành cho nhà phát triển.

Sau đó đến nơi jsoning: giai đoạn thử nghiệm. Bạn đẩy dữ liệu json vào dịch vụ và xác minh nó trong json.

Lưu ý bên lề: Trong trường hợp thẻ, phản hồi phải chứa thẻ, vì vậy việc đặt json trong ngữ cảnh này là một chút sai sót hàng đầu. Bạn chỉ làm cho dịch vụ Alexa tạo ra nó.

Phiên bản Java của các kỹ năng alexa, chứa tất cả các mã cần thiết bạn sẽ cần:

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


Trả lời cho câu hỏi 'where': trong mã Java / python / Node.js của hàm Lambda của bạn.
mico

Đây là ví dụ được dẫn qua trong Java, những người khác có những đặc điểm riêng của họ về cách ro đặt chính xác các giá trị, đặt nguyên tắc sẽ ở lại.
mico

5

Phần Tạo Thẻ Trang chủ Cơ bản để Hiển thị Văn bản

Để tạo một thẻ đơn giản, hãy bao gồm thuộc cardtính trong phản hồi JSON của bạn: Đặt typethành Simple.

  • Đặt titlecontentcác thuộc tính cho văn bản để hiển thị.
  • Sử dụng “\r\n”hoặc “\n”trong phạm vi contentđể chèn ngắt dòng.
 {
   "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."
     }
   }
 }

Đoạn mã trên greylà đoạn mã JSON. Lưu ý "card":văn bản trong đoạn trích.


1
Nhưng tôi nên thêm JSON ở đâu? trong hàm lambda?
cartman

0

Trong mã, nó có thể trông như thế này nếu bạn đang sử dụng 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();
    },
};

Thẻ được khởi tạo trong phản hồi như thế này:

.withSimpleCard('title', 'content')

Với điều này, nó được tự động thêm vào đầu ra json

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.