Локальная разработка приложения холста Facebook — (MAMP, Codeigniter)

Я запускаю свое первое приложение для Facebook, размещенное на Heroku. Я настроил приложение на Heroku для производства и отдельное приложение, работающее локально на моей машине для разработки. В настоящее время приложение (которое имеет очень мало функций) отлично работает на локальном хосте. Но я не понимаю, должно ли приложение работать как обычное приложение на основе холста на локальном хосте с функциями Facebook. Например, будет ли диалоговое окно «Запросы» запускаться в приложении на основе холста локально. Должен ли я иметь возможность использовать эту функциональность локально по мере разработки? Если да, то какие шаги мне нужно предпринять, чтобы это заработало?


person jordan    schedule 16.02.2013    source источник


Ответы (2)


Но я не понимаю, должно ли приложение работать как обычное приложение на основе холста на локальном хосте с функциями Facebook.

Ваше приложение должно вести себя одинаково, независимо от того, находится ли оно на локальном хосте или на конечном рабочем сервере.

Диалоги Facebook (запросы, сообщения и т. д.) должны отображаться на вашем локальном (dev) компьютере так же, как и на реальном сервере. В моем случае, чтобы выполнить эту работу, я установил дополнительное «приложение Facebook» с разными значениями для App Domains, Site URL и Canvas URL.

Это позволяет вам запускать ваше приложение с локального хоста. Если ваше приложение предназначено только для холста, оно будет работать внутри iframe (который указывает на Site URL), но будет отображаться в Facebook.

Кроме того, убедитесь, что вы включили Facebook JS API, если хотите увидеть какие-либо из модальные окна Facebook, а не всплывающие окна.

Единственное отличие, которое вы должны заметить, заключается в том, что если вы поделитесь страницей с вашего локального сайта разработки через FB API, Facebook не сможет просканировать ваш сайт и получить какой-либо значок, изображение или описание, если это необходимо.

person Guillermo    schedule 22.02.2013
comment
@jordy у тебя все еще есть проблемы с этим? надеюсь, я смог немного прояснить ситуацию! - person Guillermo; 24.02.2013

Различия
Единственная реальная разница между автономным сайтом и приложением на основе холста (или вкладкой страницы), которое вы заметите, заключается в том, что вам не будет передаваться signed_request при загрузке страницы.

Диалог приложения по-прежнему будет работать, но во всплывающем окне, а не прямо на странице. Кроме того, вы сможете войти в систему так же, как если бы вы установили свой локальный URL-адрес разработчика (например, http://localhost:5000) в настройках приложения Facebook в разделе «Веб-сайт с входом через Facebook» (или в мобильной сети).

Есть также некоторые вещи, которые вы не сможете протестировать на сервере, например, обновление в реальном времени, когда facebook отправляет запрос на ваш сайт, чтобы уведомить об обновлении.

Могут быть и другие вещи, но это то, о чем я могу думать прямо сейчас.

Локальная работа
Итак, что я обычно делаю, так это развиваю локально. Чтобы управлять отсутствующим signed_request, я предоставляю только заглушку или просто не рассчитываю на ее присутствие, поэтому мое приложение также может закончиться из facebook.

Что касается методов входа, я обычно полагаюсь только на JS SDK, так как большая часть входа на стороне сервера через приложение на основе холста будет опираться на signed_request — и, конечно же, я считаю, что вход в UX лучше с помощью JS SDK.

Затем я настроил только два приложения FB, одно для подготовки и одно для выпуска. Промежуточное приложение указывает на мои локальные URL-адреса, поэтому мой Facebook разрешает подключение к нему.

На данный момент он должен в основном работать нормально из коробки!

person Simon Boudrias    schedule 19.02.2013