it-swarm.com.ru

Плагин чата для клиентов Facebook Messenger не появляется, если вы не вошли в систему

Я интегрировал плагин Facebook для клиентов на одном из наших сайтов. Я следовал инструкциям в документации для разработчиков. Он работает нормально, когда есть активная сессия Facebook. Тем не менее, плагин не появляется вообще, когда нет активного сеанса FB. Я мог что-то упустить, но я понятия не имею, что это такое.

8
roundhousekick

Решением для меня было добавить # xfbml = 1 & version = v2.12 & autoLogAppEvents = 1 после xfbml.customerchat.js file как:

js.src = 'https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js#xfbml=1&version=v2.12&autoLogAppEvents=1';
18
losted

Ну, бесстыдно, что это были «Белые домены», в которых я не работал правильно.
После того, как вы вставите свой домен, вы должны нажать «Сохранить» ...

 enter image description here

1
chenop

Сейчас май 2018 г., инструкция в Страница -> Настройки -> Платформа Messenger -> Плагин чата клиента стала намного понятнее.

Плюс проверка Страновые ограничения

0
vanduc1102

Я только добавил этот код в код чата клиента, указанный в настройках страницы:

    window.fbAsyncInit = function() {
    FB.init({
      appId            : '1175565702494581', // Trokis Philippines App ID; you may use your App ID but this App ID might work on you too.
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v2.11'
    });
  };

Оригинальный код: 

    <script>
(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/xfbml.customerchat.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

<!-- Your customer chat code -->
<div class="fb-customerchat"
  attribution=setup_tool
  page_id="{your-page-id}"
  theme_color="#BE59B9">
</div>

Окончательный код: 

<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId            : '1175565702494581',
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v2.11'
    });
  };
(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/xfbml.customerchat.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

<!-- Your customer chat code -->
<div class="fb-customerchat"
  attribution=setup_tool
  page_id="{your-page-id}"
  theme_color="#BE59B9">
</div>
0
Chester Alan

Нашел решение. Если кто-то сталкивается с этим, пожалуйста, проверьте на странице Facebook Ограничения по стране (Настройки-> Общие-> Ограничения по стране). Он должен быть доступен везде, чтобы плагин рендерился, даже если нет активного сеанса

0
roundhousekick

я решил свою проблему с помощью этого скрипта:

<div class="fb-customerchat"
 page_id="<ENTER-YOUR-FACEBOOK-ID-HERE>"
 minimized="true">
</div>
<script>
  window.fbAsyncInit = function() {
    FB.init({
      appId            : 'facebook-developer-app-id',
      autoLogAppEvents : true,
      xfbml            : true,
      version          : 'v2.11'
    });
  };
(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/xfbml.customerchat.js";
     fjs.parentNode.insertBefore(js, fjs);
   }(document, 'script', 'facebook-jssdk'));
</script>

<!-- Your customer chat code -->
<div class="fb-customerchat"
  attribution=setup_tool
  page_id="your-page-id"
  theme_color="#BE59B9">
</div>
0
Narayan Shrestha

С 8 января 2019 года Facebook запретил пользователям запрашивать плагин чата для клиентов по следующему адресу: https://connect.facebook.net/en_US/sdk.js

Теперь требуется использовать https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js в качестве аргумента js.src вместо https://connect.facebook.net/en_US/sdk/sdk.js. Если вы воспользуетесь последним, плагин чата для клиентов скоро больше не будет загружаться на ваш сайт.

Если Javascript SDK Facebook уже включен в ваш веб-сайт, все, что вам нужно сделать, это установить js.src равным https://connect.facebook.net/en_US/sdk/xfbml.customerchat.js as показано в фрагменте кода ниже.

(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/xfbml.customerchat.js "; fjs.parentNode. insertBefore (js, fjs); } (документ, 'script', 'facebook-jssdk'));

Источник: https://www.chatbotino.com/2019/02/06/facebook-customer-chat-plugin-not-working-try-this/

0
Jide

Сначала я попробовал с кодом, сгенерированным мастером плагинов чата для клиентов Facebook - не повезло. Чтобы это работало, мне пришлось добавить раздел FB.init, предоставляющий действующего разработчика appId:

  <script>
    window.fbAsyncInit = function() {
        FB.init({
            appId            : 'YOUR-APP-ID-HERE',
            autoLogAppEvents : true,
            xfbml            : true,
            version          : 'v2.11'
        });
    };
    (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/pl_PL/sdk/xfbml.customerchat.js';
    fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'facebook-jssdk'));</script>

  <!-- Your customer chat code -->
  <div class="fb-customerchat"
    attribution=setup_tool
    page_id="YOUR-PAGE-ID-HERE"
    theme_color="#ed1d24"
    logged_in_greeting="Hello, how can we help you?">
  </div>

Вы можете найти более подробную информацию о Плагин чата Facebook для клиентов здесь

0
Picard