2016-10-05 5 views
2

Я пытаюсь использовать API Facebook Messenger для создания «общего» сообщения с помощью кнопки. Когда эта кнопка нажата, я хочу отобразить «веб-просмотр» (т. Е. Рамную версию веб-страницы внутри Messenger).API-интерфейс Facebook Messenger: просмотр веб-страниц в браузере

Однако, хотя моя кнопка имеет нужный объект webview_height_ratio, она по-прежнему открывается в браузере моего телефона, а не внутри Messenger. Поскольку документация в Facebook утверждает, что это все, что вам нужно, чтобы открыть кнопку в Интернете, я не уверен, что я могу сделать неправильно.

Сообщение Я посылаю к Facebook, чтобы создать кнопку (как часть общего шаблона) является:

{ 
    "recipient":{ 
     "id": "some ID" 
    }, 
    "message": { 
     "attachment":{ 
      "payload":{ 
       "elements":[{ 
        "buttons": [{ 
         "title":"Webview example", 
         "type":"web_url", 
         "url":"http://www.example.com", 
         "webview_height_ratio":"compact" 
        }], 
        "image_url": "http://www.example.com/image.png", 
        "item_url": "http://www.example.com", 
        "subtitle":"It's a TV!", 
        "title":"Some TV" 
       }], 
       "template_type":"generic" 
      }, 
      "type":"template" 
     } 
    } 
} 

Может кто-нибудь сказать мне, что я могу делать неправильно?

EDIT: Я не уверен, что это было необходимо, но у меня есть белый список домена, который я пытаюсь указать для веб-просмотра (но, очевидно, это не помогло).

ответ

1

Получается, что я делал все правильно: проблема была в Facebook. Очевидно, что когда вы используете веб-просмотр, только влияет на пользователей мобильных устройств. Пользователи веб-мессенджера получают новое окно независимо от того, укажите ли вы webview_height_ratio.

1

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

Попробуйте обновить приложение Messenger.

https://messengerblog.com/bots/messenger-platform-1-2-link-ads-to-messenger-enhanced-mobile-websites-payments-and-more/

+0

Спасибо за предложение, но у меня нет приложения Messenger для обновления: я пишу сам JSON, поэтому я знаю, что он генерирует JSON, показанный в моем вопросе. Просто по какой-то причине Facebook, похоже, игнорирует свойство 'webview_height_ratio'. – machineghost

+0

Я не уверен, что вы имели в виду под названием «У меня нет приложения Messenger для обновления», но если я правильно вас понял, когда вы касаетесь кнопки, созданной из вашего JSON в приложении Messenger, она покидает приложение откройте страницу браузером. Я имел в виду, что вы должны пойти в Google Play/App Store и обновить свой Messenger. –

+0

Ох, я понимаю, что вы имели в виду. – machineghost

1

я понял, что WebView работал только с размерами «высокий» и «компактный», как «полный» откроет браузер по умолчанию на моем Android телефона. Я не использую расширения, но попытался установить этот параметр в false и true, но это просто заставило кнопку не появляться.

3

Я столкнулся с такой же проблемой.

В этом блоке

 "buttons": [{ 
        "title":"Webview example", 
        "type":"web_url", 
        "url":"http://www.example.com", 
        "webview_height_ratio":"compact" 
       }], 

попробовать добавить эту часть после соотношения высоты веба вида

"messenger_extensions": "true" 

адрес URL Должен быть белым списком, прежде чем использовать его в WebView. Для создания домена «Белый список». См Ссылку

https://developers.facebook.com/docs/messenger-platform/thread-settings/domain-whitelisting/

1

Для того, чтобы WebView для работы в браузере (хром & RamBox мессенджер тестировался) вам необходимо установить messenger_extensions в true помимо добавления webview_height_ratio поля.