2016-10-01 3 views
5

Я делаю вызов 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 на компьютере:
Persistent Menu working on web
Но он просто не отображается на приложение Mobile Messenger. Я читал в другом месте, что он кэшируется и занимает время, чтобы освежиться, но я ждал более 24 часов. Кроме того, протестирован как на Android-телефоне, так и на iPhone, но до сих пор не отображается меню.

+1

Doh, неважно, похоже, что вскоре после того, как я сделал сообщение, кеш как-то очистился, и он работает на мобильных устройствах. В конце концов, это правильный код. Для очистки кеша потребовалось чуть больше 24 часов. – byl83

+0

Значит, это была проблема с обновлением мобильного приложения? Я испытал это раньше, но только на короткое время. Вы знаете, что вызвало его обновление? Может просто нужно перезапустить приложение, но я не уверен – user2322082

+0

эй byl83, я столкнулся с проблемой simillar. Я даже не вижу его на facebook на компьютере. Это было> 24 часа. Любые идеи отладки? Нужно ли тестировать его с новым пользователем или будет отображаться даже при существующем разговоре. (Я перезапустил свой телефон и браузер - в случае, если это может повлиять на некоторые кеширования) – rajkiran

ответ

2

Вам необходимо перезапустить приложение Facebook Messenger на своем мобильном устройстве, поскольку приложение moblie кэширует меню при запуске.

Смежные вопросы