呈现Facebook Messenger“;发送给信使”;以前经过身份验证的插件

呈现Facebook Messenger“;发送给信使”;以前经过身份验证的插件,facebook,facebook-graph-api,facebook-javascript-sdk,facebook-messenger,facebook-messenger-bot,Facebook,Facebook Graph Api,Facebook Javascript Sdk,Facebook Messenger,Facebook Messenger Bot,我正在使用的应用程序在很大程度上依赖于通知用户。我想利用messenger的强大功能,让用户能够订阅直接发送到Facebook messenger的通知。这只在Facebook开放时才成为我的一个选择,但我认为这是一个利用Facebook的精彩产品为我带来优势并为我的用户提供奢侈品的好方法 我对平台的工作原理有着深刻的理解,并为用户选择平台时触发的回调创建了自己的webhook接收器。我还添加了Facebook Javascript SDK,并在我的页面上呈现了该插件 关于功能,我有几个问题:

我正在使用的应用程序在很大程度上依赖于通知用户。我想利用messenger的强大功能,让用户能够订阅直接发送到Facebook messenger的通知。这只在Facebook开放时才成为我的一个选择,但我认为这是一个利用Facebook的精彩产品为我带来优势并为我的用户提供奢侈品的好方法

我对平台的工作原理有着深刻的理解,并为用户选择平台时触发的回调创建了自己的webhook接收器。我还添加了Facebook Javascript SDK,并在我的页面上呈现了该插件

关于功能,我有几个问题:

  • 一旦用户通过导致按下“发送到Messenger”按钮的流程,我就能够从触发的webhook回调中检索他们的发送者id,并使用它向用户发出消息,当用户通过流程时,插件有一个复选标记。但是,当我重新加载页面时,插件会重置为默认状态,并且没有复选标记,我如何将插件呈现为已选中状态?因为我现在知道了用户的发送者id,所以我不需要他们再次通过流并触发相同的回调。我有能力检查用户是否已经通过流,但是我如何才能使插件处于正确的状态,寻找如下内容:

     if (user.sender_id?) {
         # show the check marked "Send To Messenger" plugin state
     }
     else {
         # show the default "Send To Messenger" plugin state
         <div class="fb-send-to-messenger" 
          messenger_app_id="APP_ID" 
          page_id="PAGE_ID" 
          data-ref="PASS_THROUGH_PARAM" 
          color="blue" 
          size="standard">
         </div>    
     }
    
    if(user.sender\u id?){
    #显示复选标记为“发送到Messenger”的插件状态
    }
    否则{
    #显示默认的“发送到Messenger”插件状态
    }
    
  • 一旦用户通过一次入口点,我是否可以在我的数据库中存储一个发件人id?发件人的id是否曾经更改


  • 非常感谢您的任何见解,谢谢

    我解决这个问题的方法是将我数据库中的用户ID设置为Messenger选项的“ref”或“pass-through-params”。然后在我的webhook中,当我收到请求时,我为我的用户将发送者ID添加到数据库集合中


    当用户重新加载页面时,如果用户有相关的发件人ID,我根本没有呈现messenger插件。发件人ID没有更改。

    您解决了吗?@Filiperminiano很遗憾,我没有找到解决方案:(