Чат-бот Facebook: анимированные GIF-файлы в общих шаблонах

С помощью общих шаблонов для чат-ботов Facebook можно использовать анимированные изображения в формате GIF. Это отлично работает для настольной версии. В приложении для обмена сообщениями на iOS или Android анимация не воспроизводится, вместо этого отображается только первый кадр.

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

Вот документ об общих шаблонах для чат-бота Facebook: https://developers.facebook.com/docs/messenger-platform/send-api-reference/generic-template


person highliner    schedule 15.12.2016    source источник


Ответы (3)


Я тоже пробовал, но ответ - то, что вы знали. Анимированные GIF-файлы работают как одно изображение, но не работают ни в каких шаблонах. Я прочитал все ссылки FB и проверил все новости, которые они опубликовали. Но они не упомянули об этом, и ниже есть только правда, написанная моей рукой.

o одно изображение в браузере
o одно изображение в приложении
o изображение шаблона в браузере
x изображение шаблона в приложении

o -> анимация
x -> стоп и отображается только первый кадр

person ykensuke9    schedule 16.12.2016

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

К сожалению, анимированные изображения в формате GIF пока нельзя распечатать с помощью универсального шаблона.

Решение, которое вы можете сделать, - это создать две полезные нагрузки, а не шаблон. Первая полезная нагрузка будет размещать изображение в формате GIF, а вторая - ваши кнопки, например,

код

def thanks(req):
    your_welcome_gif=[ "https://media3.giphy.com/media/KCw6QUxe9zBO6QNrFe/giphy.gif", 
                       "https://media1.giphy.com/media/H21d4avBXs8B9X0NLj/giphy.gif", 
                       "https://media1.tenor.com/images/15bafc0b414757acab81650a6ff21963/tenor.gif?itemid=11238673"]

    greeding = req.get('queryResult').get('parameters').get('greeding')

    if greeding == 'Thank you' or greeding == 'thank you' or greeding == 'Thanks' or greeding == 'thanks' or greeding == 'Nice' or greeding == 'nice':

        return {"fulfillmentMessages": [
        {
            'payload': {
                "facebook": {
                    "attachment": {
                        "type": "image",
                        "payload":{
                            "url":random.choice(your_welcome_gif)
                        }
                    }
                }
            }
        },    
        {
            'payload': {
                "facebook": {
                    "attachment": {
                        "type": "template",
                        "payload": {
                            "template_type": "button",
                            "text": "You're welcome :) \nWould you like to choose another movie?",
                            "buttons": [
                            {
                                "type": "postback",
                                "title":"Yes",
                                "payload":"Yes"
                            },
                            {
                                "type": "postback",
                                "title":"No",
                                "payload":"No"
                            }
                        ]
                    }
                }
            }
        }
    }
]}

Вот мой вопрос с загруженным кодом.

person NikSp    schedule 01.08.2020

Да, вы также отправляете сообщение в формате gif, но в разделе URL-адресов вы должны указать действительный URL-адрес этого GIF ... вы можете сделать это, загрузив сначала на git, а затем в последний URL-адрес, который вы должны ввести ... =>? raw = true, потому что в git он хранится в необработанном формате ...

Вы можете увидеть все подробности здесь, по моей ссылке, этот чат-бот обрабатывает почти все функции в описанном в документах

person Krishna Chittodia    schedule 20.05.2017