Package com.bytedesk.social.meta
Class MetaMessageDemo
java.lang.Object
com.bytedesk.social.meta.MetaMessageDemo
Meta平台消息服务演示类
展示如何使用MetaMessageService发送各种类型的模板消息
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
private final MetaCatalogService
private final MetaMaterialService
private final MetaMessageService
private String
private String
private String
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
演示发送音频消息void
演示发送文件消息void
演示发送图片消息void
演示发送基础消息类型void
基础消息类型主菜单void
演示发送多张图片消息void
演示发送文本消息void
演示发送视频消息void
演示按钮在媒体模板中的使用void
演示发送按钮模板消息 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/button 使用ButtonContent结构化类替代List/Map结构void
演示使用ButtonContent创建高级按钮模板 展示ButtonContent的各种高级功能和配置选项void
演示各种按钮类型的创建 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttonsvoid
按钮类型主菜单void
演示按钮参数验证和错误处理void
演示呼叫按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#callprivate void
演示呼叫按钮参数验证void
演示发送CES客户反馈模板消息void
演示发送优惠券模板消息void
演示发送客户反馈模板消息void
演示删除用户级固定菜单void
演示扩展按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#extensionvoid
演示跟进消息void
演示游戏开始按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#game_playvoid
演示发送常规模板消息(仅包含回发按钮) 用于测试是否问题在于按钮类型组合void
演示发送常规模板消息(移除默认操作) 用于测试是否default_action导致冲突void
演示获取固定菜单设置void
演示如何获取Facebook URL用于媒体模板 发送说明消息,告诉用户如何获取Facebook URLvoid
演示如何获取产品目录和产品ID 注意:这需要真实的Facebook Commerce Manager权限void
演示登录按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#loginvoid
演示注销按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#logoutvoid
void
营销消息主菜单void
void
void
演示发送媒体模板消息(使用附件ID) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:要使用附件ID,需要先通过附件上传API上传媒体文件 附件上传API: https://developers.facebook.com/docs/messenger-platform/reference/attachment-upload-apivoid
演示使用真实attachment_id发送媒体模板消息 这个方法需要先通过demoUploadMaterialByUrl获取attachment_idvoid
演示发送媒体模板消息(使用Facebook URL) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:媒体模板只支持Facebook网址,不支持外部网址 要获取Facebook网址,请: 1.void
固定菜单主菜单void
演示发送最小化常规模板消息(仅包含必需字段) 用于测试基本功能void
演示混合按钮类型(在常规模板中使用)void
演示营销消息订阅请求void
演示发送NPS客户反馈模板消息void
演示回发按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#postbackprivate void
演示回发按钮参数验证void
演示发送商品模板消息 注意:产品模板需要真实的产品ID,这些ID必须通过Catalog API或Facebook Commerce Manager获取 并且必须是同一页面拥有的产品。void
demoProductTemplateWithRealIds
(List<String> realProductIds) 演示发送商品模板消息(使用真实产品ID) 注意:需要提供真实的产品ID才能成功发送void
演示快速回复功能 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/quick-repliesvoid
演示带图片的快速回复void
演示发送收据模板消息 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/receiptvoid
演示发送营销消息void
演示设置页面级固定菜单void
演示设置用户级固定菜单void
演示显示当前存储的attachment_idvoid
演示发送简单常规模板消息(仅包含回发按钮) 用于测试基本功能void
演示发送状态消息void
演示发送结构化信息模板消息void
演示文本快速回复void
演示通过URL上传素材并获取attachment_id 展示如何使用MetaMaterialService上传素材void
演示URL按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#urlvoid
演示发送URL按钮测试版本(仅包含URL按钮,无默认操作) 用于测试URL按钮配置void
演示发送URL按钮测试版本2(包含默认操作) 用于测试URL按钮和默认操作的组合private void
演示URL按钮参数验证void
演示用户邮箱快速回复void
演示用户手机号快速回复void
演示发送视频媒体模板消息(使用Facebook URL) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:媒体模板只支持Facebook网址,不支持外部网址 要获取Facebook视频网址,请: 1.获取最近上传的attachment_id获取当前页面访问令牌获取当前页面ID获取当前接收者IDprivate boolean
发送带快速回复的文本消息void
setDemoParams
(String pageId, String recipientId, String pageAccessToken) 设置演示参数private boolean
设置"开始"按钮 这是使用固定菜单的必需条件void
setLastUploadedAttachmentId
(String attachmentId) 设置最近上传的attachment_idvoid
测试ButtonContent功能 验证ButtonContent的各种功能和配置void
测试客户反馈模板配置 用于验证配置是否正确
-
Field Details
-
metaMessageService
-
metaMaterialService
-
metaCatalogService
-
pageId
-
recipientId
-
pageAccessToken
-
lastUploadedAttachmentId
-
-
Constructor Details
-
MetaMessageDemo
public MetaMessageDemo()
-
-
Method Details
-
setDemoParams
设置演示参数- Parameters:
pageId
- 页面IDrecipientId
- 接收者IDpageAccessToken
- 页面访问令牌
-
getPageId
获取当前页面ID -
getRecipientId
获取当前接收者ID -
getPageAccessToken
获取当前页面访问令牌 -
getLastUploadedAttachmentId
获取最近上传的attachment_id -
setLastUploadedAttachmentId
设置最近上传的attachment_id -
demoUrlButtonTest
public void demoUrlButtonTest()演示发送URL按钮测试版本(仅包含URL按钮,无默认操作) 用于测试URL按钮配置 -
demoUrlButtonTestWithDefaultAction
public void demoUrlButtonTestWithDefaultAction()演示发送URL按钮测试版本2(包含默认操作) 用于测试URL按钮和默认操作的组合 -
demoMinimalGenericTemplate
public void demoMinimalGenericTemplate()演示发送最小化常规模板消息(仅包含必需字段) 用于测试基本功能 -
demoSimpleGenericTemplate
public void demoSimpleGenericTemplate()演示发送简单常规模板消息(仅包含回发按钮) 用于测试基本功能 -
demoGenericTemplatePostbackOnly
public void demoGenericTemplatePostbackOnly()演示发送常规模板消息(仅包含回发按钮) 用于测试是否问题在于按钮类型组合 -
demoGenericTemplateWithoutDefaultAction
public void demoGenericTemplateWithoutDefaultAction()演示发送常规模板消息(移除默认操作) 用于测试是否default_action导致冲突 -
demoButtonTemplate
public void demoButtonTemplate()演示发送按钮模板消息 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/button 使用ButtonContent结构化类替代List/Map结构 -
demoButtonTemplateWithButtonContent
public void demoButtonTemplateWithButtonContent()演示使用ButtonContent创建高级按钮模板 展示ButtonContent的各种高级功能和配置选项 -
demoMediaTemplateWithUrl
public void demoMediaTemplateWithUrl()演示发送媒体模板消息(使用Facebook URL) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:媒体模板只支持Facebook网址,不支持外部网址 要获取Facebook网址,请: 1. 点击Facebook上的图片或视频缩略图以打开原始尺寸的视图 2. 从浏览器的地址栏复制网址 -
demoVideoMediaTemplateWithUrl
public void demoVideoMediaTemplateWithUrl()演示发送视频媒体模板消息(使用Facebook URL) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:媒体模板只支持Facebook网址,不支持外部网址 要获取Facebook视频网址,请: 1. 点击Facebook上的视频缩略图以打开原始尺寸的视图 2. 从浏览器的地址栏复制网址 -
demoMediaTemplateWithAttachmentId
public void demoMediaTemplateWithAttachmentId()演示发送媒体模板消息(使用附件ID) 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/media 注意:要使用附件ID,需要先通过附件上传API上传媒体文件 附件上传API: https://developers.facebook.com/docs/messenger-platform/reference/attachment-upload-api -
demoReceiptTemplate
public void demoReceiptTemplate()演示发送收据模板消息 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/templates/receipt -
demoCouponTemplate
public void demoCouponTemplate()演示发送优惠券模板消息 -
demoCustomerFeedbackTemplate
public void demoCustomerFeedbackTemplate()演示发送客户反馈模板消息 -
demoNpsCustomerFeedbackTemplate
public void demoNpsCustomerFeedbackTemplate()演示发送NPS客户反馈模板消息 -
demoCesCustomerFeedbackTemplate
public void demoCesCustomerFeedbackTemplate()演示发送CES客户反馈模板消息 -
demoStructuredInformationTemplate
public void demoStructuredInformationTemplate()演示发送结构化信息模板消息 -
demoProductTemplate
public void demoProductTemplate()演示发送商品模板消息 注意:产品模板需要真实的产品ID,这些ID必须通过Catalog API或Facebook Commerce Manager获取 并且必须是同一页面拥有的产品。当前演示使用说明文本替代。 -
demoBasicMessages
public void demoBasicMessages()演示发送基础消息类型 -
demoStatusMessages
public void demoStatusMessages()演示发送状态消息 -
demoButtonTypes
public void demoButtonTypes()演示各种按钮类型的创建 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons -
demoUrlButton
public void demoUrlButton()演示URL按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#url -
demoPostbackButton
public void demoPostbackButton()演示回发按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#postback -
demoCallButton
public void demoCallButton()演示呼叫按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#call -
demoGamePlayButton
public void demoGamePlayButton()演示游戏开始按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#game_play -
demoLogInButton
public void demoLogInButton()演示登录按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#login -
demoLogOutButton
public void demoLogOutButton()演示注销按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#logout -
demoExtensionButton
public void demoExtensionButton()演示扩展按钮 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/buttons#extension -
demoMixedButtonTypes
public void demoMixedButtonTypes()演示混合按钮类型(在常规模板中使用) -
demoButtonsInMediaTemplate
public void demoButtonsInMediaTemplate()演示按钮在媒体模板中的使用 -
demoButtonValidation
public void demoButtonValidation()演示按钮参数验证和错误处理 -
demoUrlButtonValidation
private void demoUrlButtonValidation()演示URL按钮参数验证 -
demoPostbackButtonValidation
private void demoPostbackButtonValidation()演示回发按钮参数验证 -
demoCallButtonValidation
private void demoCallButtonValidation()演示呼叫按钮参数验证 -
demoQuickReplies
public void demoQuickReplies()演示快速回复功能 参考文档:https://developers.facebook.com/docs/messenger-platform/send-messages/quick-replies -
demoTextQuickReplies
public void demoTextQuickReplies()演示文本快速回复 -
demoUserPhoneNumberQuickReply
public void demoUserPhoneNumberQuickReply()演示用户手机号快速回复 -
demoUserEmailQuickReply
public void demoUserEmailQuickReply()演示用户邮箱快速回复 -
demoQuickRepliesWithImages
public void demoQuickRepliesWithImages()演示带图片的快速回复 -
sendTextMessageWithQuickReplies
发送带快速回复的文本消息- Parameters:
text
- 消息文本quickReplies
- 快速回复列表- Returns:
- 发送结果
-
demoNotificationMessagesSubscription
public void demoNotificationMessagesSubscription()演示营销消息订阅请求 -
demoSendNotificationMessage
public void demoSendNotificationMessage()演示发送营销消息 -
demoFollowUpMessages
public void demoFollowUpMessages()演示跟进消息 -
demoSetPageLevelPersistentMenu
public void demoSetPageLevelPersistentMenu()演示设置页面级固定菜单 -
setGetStartedButton
private boolean setGetStartedButton()设置"开始"按钮 这是使用固定菜单的必需条件- Returns:
- 设置结果
-
demoSetUserLevelPersistentMenu
public void demoSetUserLevelPersistentMenu()演示设置用户级固定菜单 -
demoGetPersistentMenu
public void demoGetPersistentMenu()演示获取固定菜单设置 -
demoDeleteUserLevelPersistentMenu
public void demoDeleteUserLevelPersistentMenu()演示删除用户级固定菜单 -
demoHowToGetFacebookUrl
public void demoHowToGetFacebookUrl()演示如何获取Facebook URL用于媒体模板 发送说明消息,告诉用户如何获取Facebook URL -
demoUploadMaterialByUrl
public void demoUploadMaterialByUrl()演示通过URL上传素材并获取attachment_id 展示如何使用MetaMaterialService上传素材 -
demoMediaTemplateWithRealAttachmentId
public void demoMediaTemplateWithRealAttachmentId()演示使用真实attachment_id发送媒体模板消息 这个方法需要先通过demoUploadMaterialByUrl获取attachment_id -
demoShowAttachmentId
public void demoShowAttachmentId()演示显示当前存储的attachment_id -
testCustomerFeedbackTemplateConfig
public void testCustomerFeedbackTemplateConfig()测试客户反馈模板配置 用于验证配置是否正确 -
demoHowToGetProductCatalog
public void demoHowToGetProductCatalog()演示如何获取产品目录和产品ID 注意:这需要真实的Facebook Commerce Manager权限 -
demoProductTemplateWithRealIds
演示发送商品模板消息(使用真实产品ID) 注意:需要提供真实的产品ID才能成功发送- Parameters:
realProductIds
- 真实的产品ID列表(可选,如果不提供则自动获取)
-
demoMarketingMenu
public void demoMarketingMenu()营销消息主菜单 -
demoMarketingSubscribe
public void demoMarketingSubscribe() -
demoMarketingSend
public void demoMarketingSend() -
demoMarketingFollowup
public void demoMarketingFollowup() -
demoMenuMenu
public void demoMenuMenu()固定菜单主菜单 -
demoBasicMessagesMenu
public void demoBasicMessagesMenu()基础消息类型主菜单 -
demoBasicText
public void demoBasicText()演示发送文本消息 -
demoBasicImage
public void demoBasicImage()演示发送图片消息 -
demoBasicMultipleImages
public void demoBasicMultipleImages()演示发送多张图片消息 -
demoBasicAudio
public void demoBasicAudio()演示发送音频消息 -
demoBasicVideo
public void demoBasicVideo()演示发送视频消息 -
demoBasicFile
public void demoBasicFile()演示发送文件消息 -
demoButtonTypesMenu
public void demoButtonTypesMenu()按钮类型主菜单 -
testButtonContent
public void testButtonContent()测试ButtonContent功能 验证ButtonContent的各种功能和配置
-