答案 0 :(得分:7)
您可以在响应中显示多个响应卡,它将显示为轮播。 按照this example通过控制台生成响应卡(您也可以在代码中动态执行)。
控制台方法:
在下面的图片中,在Prompt response cards
部分,请参见最右边的部分,有一个+
按钮,单击该按钮,您可以添加更多卡片。
动态方法(使用Lambda):
'dialogAction': {
'type': 'Close',
'fulfillmentState': 'Fulfilled',
'message': {
'contentType': 'PlainText',
'content': message
},
'responseCard': {
'version': '0',
'contentType': 'application/vnd.amazonaws.card.generic',
'genericAttachments': [
{
'title': 'title1',
'subTitle': 'subtitle1',
'attachmentLinkUrl': 'link_that_will_open_on_click',
'imageUrl': 'link_of_image_to_display',
"buttons":[
{
"text":"button_1",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_2",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_3",
"value":"value_to_be_sent_to_server_on_click"
}
]
},
{
'title': 'title2',
'subTitle': 'subtitle2',
'attachmentLinkUrl': 'link_that_will_open_on_click',
'imageUrl': 'link_of_image_to_display',
"buttons":[
{
"text":"button_1",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_2",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_3",
"value":"value_to_be_sent_to_server_on_click"
}
]
},
{
'title': 'title3',
'subTitle': 'subtitle3',
'attachmentLinkUrl': 'link_that_will_open_on_click',
'imageUrl': 'link_of_image_to_display',
"buttons":[
{
"text":"button_1",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_2",
"value":"value_to_be_sent_to_server_on_click"
},
{
"text":"button_3",
"value":"value_to_be_sent_to_server_on_click"
}
]
}
]
}
}
注1:您可以在轮播中使用maximum of 10 response cards
,在单个轮播中使用maximum of 3 buttons
。
如果您有超过10张卡,您将收到错误。
如果您有超过3个按钮,则不会出现错误,但只显示前3个
注2:您需要检查Facebook应用中信使设置中的messaging_postbacks
中的Webhooks
个事件,以制作轮播按钮的工作。
我已经用以下方式实施了响应卡:
希望它有所帮助。