Кнопка, которая вызывает Facebook Messenger с определенным текстом - PullRequest
0 голосов
/ 02 октября 2018

Я пытаюсь создать кнопку Messenger в своем приложении rails, чтобы упростить пользователям способ поделиться своей спонсорской ссылкой.

Так что это была бы кнопка, открывающая Facebook в новой вкладке / окне спредварительно написанное сообщение типа «используйте эту ссылку и получите скидку 10% на myapp.com!»

Пользователь должен будет ввести только человека, которому он хочет отправить сообщение.

На данный момент я настроил 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'));

, но с этого момента я не знаю, как создать кнопку, которая будет запускать действие, описанное выше.Как я могу это сделать?

1 Ответ

0 голосов
/ 02 октября 2018

Итак, как упомянул в комментариях @misorude, нет возможности поделиться заранее написанным сообщением;но можно поделиться ссылкой следующим образом:

инициализировать 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/',
    });
  }
...