Class MetaMessageDemo

java.lang.Object
com.bytedesk.social.meta.MetaMessageDemo

@Component public class MetaMessageDemo extends Object
Meta平台消息服务演示类 展示如何使用MetaMessageService发送各种类型的模板消息
  • Field Details

    • metaMessageService

      private final MetaMessageService metaMessageService
    • metaMaterialService

      private final MetaMaterialService metaMaterialService
    • metaCatalogService

      private final MetaCatalogService metaCatalogService
    • pageId

      private String pageId
    • recipientId

      private String recipientId
    • pageAccessToken

      private String pageAccessToken
    • lastUploadedAttachmentId

      private String lastUploadedAttachmentId
  • Constructor Details

    • MetaMessageDemo

      public MetaMessageDemo()
  • Method Details

    • setDemoParams

      public void setDemoParams(String pageId, String recipientId, String pageAccessToken)
      设置演示参数
      Parameters:
      pageId - 页面ID
      recipientId - 接收者ID
      pageAccessToken - 页面访问令牌
    • getPageId

      public String getPageId()
      获取当前页面ID
    • getRecipientId

      public String getRecipientId()
      获取当前接收者ID
    • getPageAccessToken

      public String getPageAccessToken()
      获取当前页面访问令牌
    • getLastUploadedAttachmentId

      public String getLastUploadedAttachmentId()
      获取最近上传的attachment_id
    • setLastUploadedAttachmentId

      public void setLastUploadedAttachmentId(String attachmentId)
      设置最近上传的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

      private boolean sendTextMessageWithQuickReplies(String text, List<Map<String,Object>> quickReplies)
      发送带快速回复的文本消息
      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

      public void demoProductTemplateWithRealIds(List<String> realProductIds)
      演示发送商品模板消息(使用真实产品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的各种功能和配置