Messenger Webview для Botframework V4 - PullRequest
0 голосов
/ 10 марта 2019

Может ли кто-нибудь дать мне преимущество в использовании веб-браузера Facebook Messenger? Я исследовал это в течение многих дней, и у меня все еще нет никакого понятия о том, как это сделать. И сколько бы я ни хотел дать здесь код, теперь я знаю, с чего начать. Официальные документы мне не очень помогают, и я лучше учусь на собственном примере. Я использую C # Botframework V4 SDK.

Это просто просмотр веб-сайта в мессенджере? Вам нужен существующий сайт для этого?

1 Ответ

0 голосов
/ 12 марта 2019

Для просмотра веб-сайта Facebook, на котором ведется разговор, требуется веб-сайт, поддерживающий расширение Messenger.Вы можете найти сайт, который поддерживает расширение, или создать свой собственный и добавить расширение.

Настройка веб-сайта

Вы можете добавить расширение Messenger на свой сайт, добавив следующий вызов функции на свою веб-страницу.

(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 = "//connect.facebook.net/en_US/messenger.Extensions.js";
  fjs.parentNode.insertBefore(js, fjs);
  }(document, 'script', 'Messenger'));

  window.extAsyncInit = function() {
    // the Messenger Extensions JS SDK is done loading 
  };

Дляболее подробную информацию вы можете найти в документации Messenger Facebook на Добавление расширений Messenger .

Отправка шаблона с помощью Microsoft BotFramework

Существует несколько способов вызвать веб-представление расширения Messenger с помощью Microsoft BotFramework, но самый простой вариант - использовать шаблон кнопки Facebook.,Добавьте URL-адрес своего сайта в шаблон кнопки и отправьте его пользователю, добавив шаблон к данным канала исходящей активности.Смотрите пример ниже.

var reply = turnContext.Activity.CreateReply();

var attachment = new
{
    type = "template",
    payload = new
    {
        template_type = "button",
        text = "Sign up for our mailing list!",
        buttons = new[]
        {
            new
            {
                type = "web_url",
                url = "https://mybot.azurewebsites.net/",
                title = "Sign Up!",
                webview_height_ratio = "full",
                messenger_extensions = true,
            },
        },
    },
};

reply.ChannelData = JObject.FromObject(new { attachment });

await turnContext.SendActivityAsync(reply, cancellationToken);

Посмотрите документацию Messenger на Шаблоны кнопок для получения более подробной информации.Обратите внимание, что Белый список любых URL-адресов, которые вы используете с Facebook,

Снимок экрана

Messenger Extension WebView

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...