簡體   English   中英

Dialogflow webhook(Google上的操作)。 是否應該使用RichResponse?

[英]Dialogflow webhook (Actions on Google). Should I be using RichResponse or not?

通讀Google Actions的文檔,我通過使用豐富的響應類並為它提供了簡單的響應,輪播和一些建議芯片,構建了一個瀏覽輪播。

const carouselItems = [];
items.forEach(item => {
    const carouselItem = new BrowseCarouselItem({
        description: item.description.text,
        image: new Image({
            alt: item.title,
            url: item.image,
        }),
        url: item.link,
        title: item.title,
    })
    carouselItems.push(carouselItem)
});


conv.ask(new RichResponse({
    items: [{
        simpleResponse: new SimpleResponse("the simple response message"),
        carouselBrowse: new BrowseCarousel({ 
            items: [ browseCarouselItem1, browseCarouselItem2 ],
        }),
    }],
    suggestions: ["suggestion1", "suggestion2"]
});

在花了一些時間之后,我發現豐富的響應類似乎是不必要的。 實際上,我可以連續三遍使用conv.ask()來獲得相同的結果。

conv.ask("the simple response message");
conv.ask(new BrowseCarousel({
    items: [ browseCarouselItem1, browseCarouselItem2 ]
}));
conv.ask(new Suggestions([ "suggestion1", "suggestion2" ]);

有了這個發現,我發現自己不確定正確的方法。 這些方法中的一種可以替代另一種嗎? 最佳做法是什么? 我在整個RichResponse都使用過RichResponse ,但現在不確定我是否正在使用過時的課程。

它不是“過時的”,但是它是不必要的。 標准做法是多次調用ask()並讓該庫為您構建RichResponse對象。 但是庫確實在內部使用它,因此它不是過時的。

當我使用Google Actions-on-Google庫時,我更喜歡使用多個ask()因為我不必全部使用它們。 我可以根據可用的功能或適當的響應將它們中的一些包含在不同的塊中。

使用最適合您的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM