Facebook Webviews Клиентский плагин Непоследовательное поведение - PullRequest
0 голосов
/ 08 марта 2019

Кажется, я либо неправильно понимаю что-то базовое, либо вижу странное поведение мессенджера с точки зрения веб-просмотров.

Проблема возникла после того, как я только что включил наш чат в плагин чата для клиентов на нашем сайте, и страница веб-просмотра не очень хорошо подходит как для оконного веб-просмотра, так и для полного просмотра в настольном браузере.

Для создания кнопок я создал класс для представления наших web_url кнопок, который выглядит следующим образом:

public class WebViewButton
{
    public WebViewButton(string title, string weburl)
    {
        url = weburl;
        fallback_url = $"{weburl}&iswebview=false";
        this.title = title;
    }

    public string type = "web_url";
    public string url { get; set; }
    public string title { get; set; }
    public string webview_height_ratio = "full";
    public bool messenger_extensions = true;
    public string fallback_url { get; set; }
}

Так что, в основном, с помощью URL-адреса типа https://example.com/webviewpage?id=123 эта кнопка будет иметь:

url = https://example.com/webviewpage?id=123
fallback_url = https://example.com/webviewpage?id=123&iswebview=false

Мой веб-сервер затем может изменять содержимое в зависимости от того, как оно будет отображаться в рамках чата.

Согласно документации, fallback_url используется, когда клиент не поддерживает расширения мессенджера.

"URL-адрес [fallback_url] для использования на клиентах, которые не поддерживают расширения Messenger. Если это не определено, URL-адрес будет использоваться в качестве запасного. Он может быть указан только в том случае, если messenger_extensions имеет значение true." ( ссылка на документацию )

При использовании бота через messenger.com или facebook.com нажатие кнопки web_url загружает страницу в обычное оконное веб-представление, которое выглядит следующим образом:

enter image description here

Проблема в том, что используется свойство fallback_url, а не свойство url на messenger.com и facebook.com.

Насколько я понимаю, эта загруженная iframe веб-страница (как показано выше) предполагает поддержку messenger_extensions IS (через messenger.com / facebook.com), поскольку она загружала страницу в оконное веб-представление, в то же время, используя fallback_url, предполагается, что расширения мессенджера не поддерживаются. Это не кажется правильным.

Если я отобразлю эти кнопки с помощью messenger_extensions = false, они начнут загружать эти URL-адреса во вкладки браузера на каждом устройстве / платформе, как и следовало ожидать. Все это кажется очень запутанным и делает невозможным использование веб-обозрения, так как оно не соответствует предлагаемому поведению согласно документации.

Кто-нибудь еще видел такое поведение? Есть ли обходные пути?

Я правильно понимаю, что это неправильно?

На данный момент мне кажется, что это ошибка, но я все еще плохо знаком с созданием ботов и платформой Facebook.

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