Как сделать кнопку URL-адреса ботмана для мессенджера Facebook, который будет выполнять функцию веб-просмотра? - PullRequest
0 голосов
/ 28 июня 2018

Я использую Botman в качестве плагина для создания мессенджера. У меня есть этот код, который открывает веб-URL, но я хочу сделать его веб-просмотром. Вот мой код:

$botman->hears('try', function ($bot) {
    $bot->typesAndWaits(2);
    $bot->reply(ListTemplate::create()
    ->useCompactView()
    ->addElement(
        Element::create('Sample Title')
            ->subtitle('Some subtitle.')
            ->image('https://sampleurl.com/images/logo.png')
            ->addButton(ElementButton::create('Sample Button')
                ->url('https://sampleurl.com')
                )
        )
    );
});

Приведенный выше код работает, но он открывает URL в новой вкладке. Мне нравится, что он ведет себя как веб-просмотр, как то, что я создал в постоянном меню:

'persistent_menu' => [
    [
        'locale' => 'default',
        'composer_input_disabled' => 'false',
        'call_to_actions' => [
            [
                'title' => 'Sample Title',
                'type' => 'web_url',
                'url' => 'https://sampleurl.com',
                'webview_height_ratio' => 'full',
                'webview_share_button' => 'hide',
                'messenger_extensions' => true
            ],
        ],
    ],
],

1 Ответ

0 голосов
/ 30 июня 2018

вам нужно использовать такой метод enableExtensions(). Он сообщает FB с просьбой разрешить веб-просмотр с помощью кнопки или меню.

When you are opening the webview from the persistent menu or a button, ensure that the messenger_extensions parameter is set to true. If a user has opened the webview via a shared message, it is not required that they have talked to your bot for Messenger Extensions to work. (из документов FB)

ButtonTemplate::create('Open Webview')
        ->addButton(ElementButton::create('Click here')
             ->url(https://myurl.com/webview')
             ->enableExtensions()
        );
...