Package com.bytedesk.social.meta
Class MetaMessageDemo
java.lang.Object
com.bytedesk.social.meta.MetaMessageDemo
Meta平台消息服务演示类
展示如何使用MetaMessageService发送各种类型的模板消息
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate Stringprivate final MetaCatalogServiceprivate final MetaMaterialServiceprivate final MetaMessageServiceprivate Stringprivate Stringprivate 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#logoutvoidvoid营销消息主菜单voidvoidvoid演示发送媒体模板消息(使用附件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获取 并且必须是同一页面拥有的产品。voiddemoProductTemplateWithRealIds(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发送带快速回复的文本消息voidsetDemoParams(String pageId, String recipientId, String pageAccessToken) 设置演示参数private boolean设置"开始"按钮 这是使用固定菜单的必需条件voidsetLastUploadedAttachmentId(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的各种功能和配置
-