Я делаю вызов php curl для конечной точки API, чтобы настроить постоянное меню на основе documentation. Вот код:Facebook Messenger API - Постоянное меню, не работающее на мобильном телефоне
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'https://graph.facebook.com/v2.6/me/thread_settings?access_token='.FB_ACCESS_TOKEN);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postbody);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
$output = curl_exec($ch);
curl_close($ch);
error_log($output);
access_token установлен правильно и $ postbody выглядит следующим образом:
{"setting_type":"call_to_actions","thread_state":"existing_thread","call_to_actions":[{"type":"postback","title":"My Album","payload":"{\"type\":\"button1\",\"data\":{\"category\":\"album\"}}"},{"type":"postback","title":"Help","payload":"{\"type\":\"button1\",\"data\":{\"category\":\"help\"}}"}]}
я возвращусь успешный результат:
{"result":"Successfully added structured menu CTAs"}
И работы меню на facebook на компьютере:
Но он просто не отображается на приложение Mobile Messenger. Я читал в другом месте, что он кэшируется и занимает время, чтобы освежиться, но я ждал более 24 часов. Кроме того, протестирован как на Android-телефоне, так и на iPhone, но до сих пор не отображается меню.
Doh, неважно, похоже, что вскоре после того, как я сделал сообщение, кеш как-то очистился, и он работает на мобильных устройствах. В конце концов, это правильный код. Для очистки кеша потребовалось чуть больше 24 часов. – byl83
Значит, это была проблема с обновлением мобильного приложения? Я испытал это раньше, но только на короткое время. Вы знаете, что вызвало его обновление? Может просто нужно перезапустить приложение, но я не уверен – user2322082
эй byl83, я столкнулся с проблемой simillar. Я даже не вижу его на facebook на компьютере. Это было> 24 часа. Любые идеи отладки? Нужно ли тестировать его с новым пользователем или будет отображаться даже при существующем разговоре. (Я перезапустил свой телефон и браузер - в случае, если это может повлиять на некоторые кеширования) – rajkiran