Facebookボットチャットシステムのボタンメッセージタイプの場合、最大3つのボタンがあるようです(文書化されていません)。これは恣意的で制限的なようです。 3つ以上のボタンを持つ方法があるかどうか誰かが知っていますか?
明確にするために、私は次のメッセージJSONを参照しています。
{
"recipient":{
"id":"USER_ID"
},
"message":{
"attachment":{
"type":"template",
"payload":{
"template_type":"button",
"text":"What do you want to do next?",
"buttons":[
{
"type":"web_url",
"url":"https://petersapparel.parseapp.com",
"title":"Show Website"
},
{
"type":"postback",
"title":"Start Chatting",
"payload":"USER_DEFINED_PAYLOAD"
}
]
}
}
}
}
この制限を回避する方法はありません。 Facebookは一般的なテンプレートの制限を明確に文書化しています ここ :
タイトル:80文字
字幕:80文字
行動を促すフレーズのタイトル:20文字
行動を促すフレーズのアイテム:3つのボタン
メッセージあたりの泡(水平スクロール):10要素
1つのバブルに最大3つのボタンを配置できます。さらに3つのボタンで別のバブルを追加できます。例えば:
{
"recipient": {
"id": "RECIPIENT_ID"
},
"message": {
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [
{
"title": "Swipe left/right for more options.",
"buttons": [
{
"type": "postback",
"title": "Button 1",
"payload": "button1"
},
{
"type": "postback",
"title": "Button 2",
"payload": "button2"
},
{
"type": "postback",
"title": "Button 3",
"payload": "button3"
}
]
},
{
"title": "Swipe left/right for more options.",
"buttons": [
{
"type": "postback",
"title": "Button 4",
"payload": "button4"
},
{
"type": "postback",
"title": "Button 5",
"payload": "button5"
},
{
"type": "postback",
"title": "Button 6",
"payload": "button6"
}
]
}
]
}
}
}
}
1つの汎用テンプレートに最大10個のバブルを追加できます。
[〜#〜]または[〜#〜]
quick replies を使用できます。
「クイック返信」を使用することもできます: https://developers.facebook.com/docs/messenger-platform/send-api-reference/quick-replies
クイック返信では、1行のボタンに最大11個のオプションを表示できます。
ボットフレームワークアプローチを使用できます。汎用テンプレートを使用してオプションを送信します。 オプションパート1 、 オプションパート2
"attachment": {
"type": "template",
"payload": {
"template_type": "generic",
"elements": [{
"title": "group of options part 1",
"buttons": [ {
"type": "postback",
"title": "option 1",
"payload": "option 1",
}, ...,
{
"type": "postback",
"title": "option 3",
"payload": "option 3",
}],
}, ...,
{
"title": "group of options 10",
"buttons": [{
"type": "postback",
"title": "option 28",
"payload": "option 28",
}, ...,
{
"type": "postback",
"title": "option 30",
"payload": "option 30",
}],
}]
}
}
あなたはこれを試すことができます:
"text": msg,
"quick_replies": [
{
"content_type": "text",
"title": "What happens to my healthcare benefits?",
"payload": "HEALTHCARE_BENEFITS"
},
{
"content_type": "text",
"title": "What happens to my service credit purchases?",
"payload": "SERVICE_CREDIT_PURCHASE"
},
{
"content_type": "text",
"title": "Am I eligible for enhanced contributions?",
"payload": "ENHANCED_CONTRIBUTIONS"
},
{
"content_type": "text",
"title": "What is the New Hybrid Plan?",
"payload": "NEW_HYBRID_PLAN"
}
]
}
}