【问题标题】:Button that triggers Facebook Messenger with specific text使用特定文本触发 Facebook Messenger 的按钮
【发布时间】:2018-10-02 19:08:55
【问题描述】:

我正在尝试在我的 rails 应用上创建一个 Messenger 按钮,以简化用户分享他们的赞助商链接的方式。

所以这将是一个按钮,可以在新选项卡/窗口中打开 Facebook,并带有预先编写的消息,例如:“使用此链接并在 myapp.com 上获得 10% 的折扣!”

用户只需键入要向其发送消息的人。

到目前为止,我已经设置了 Facebook SDK

  window.fbAsyncInit = function() {
    FB.init({
      appId            : 'XXX',
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v3.1'
    });
  };



  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

但从那时起,我不知道如何创建会触发上述操作的按钮。我该怎么做?

【问题讨论】:

  • 没有办法做到这一点。您最多可以实现发送按钮或发送对话框,让您的网络应用程序用户将链接作为消息发送给他们的朋友 - 但您不能为他们指定消息的文本。
  • 好的,我明白了,谢谢你的帮助@misorude!那么如何设置发送按钮来发送链接?我在文档中找到了这个:click here 但我不知道我必须在我自己的代码中在哪里实现它。
  • 您链接到的内容与发送按钮无关,它是 Messenger API 的一部分(仅用于用户和页面之间的通信。)developers.facebook.com/docs/plugins/send-button, @987654323 @ 是我说的那些。
  • 好的,明白了!正是我想要的。非常感谢!
  • 发送按钮自 2018 年 2 月 5 日起已弃用。

标签: ruby-on-rails facebook facebook-javascript-sdk facebook-messenger


【解决方案1】:

所以,正如 @misorude 在 cmets 中提到的,不可能分享预先写好的信息;但可以通过这种方式分享链接:

初始化 Facebook SDK:

window.fbAsyncInit = function() {
    FB.init({
      appId            : '01234',
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v3.1'
    });
  };

  (function(d, s, id){
     var js, fjs = d.getElementsByTagName(s)[0];
     if (d.getElementById(id)) {return;}
     js = d.createElement(s); js.id = id;
     js.src = "https://connect.facebook.net/en_US/sdk.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));

然后创建一个按钮:

<button class="fb-msg-button" onClick=sendDialog()>
  <i class="fab fa-facebook-messenger"></i>
  <span class="sponsor-btn--text">Messenger</span>
</button> 

最后写出对应的js函数:

  function sendDialog() {
    FB.ui({
      method: 'send',
      link: 'http://www.mylink.fr/',
    });
  }

【讨论】:

    猜你喜欢
    • 2017-02-25
    • 1970-01-01
    • 2017-02-05
    • 2017-06-07
    • 2017-02-06
    • 1970-01-01
    • 2011-11-18
    • 2018-01-09
    • 2017-02-14
    相关资源
    最近更新 更多