2013-02-16 2 views
2

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

ответ

2

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

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

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

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

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

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

+0

@jordy у вас все еще есть проблемы с этим? надеюсь, что я смог немного прояснить ситуацию! – Guillermo

4

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

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

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

Возможно, есть что-то еще, но об этом я могу сейчас подумать.

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

Для методов входа, я склонен полагаться только на JS SDK, как большинство на стороне сервера авторизации через холст приложение будет опираться на signed_request - и enaway, я нашел UX Войти лучше через JS SDK.

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

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

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