Локално разработване на Facebook canvas приложение – (MAMP, Codeigniter)

Започвам първото си приложение за Facebook, хоствано на Heroku. Настроих приложение на Heroku за производство и отделно приложение, работещо локално на собствената ми машина за разработка. В момента приложението (което има много малко функционалност) работи на localhost съвсем добре. Но не разбирам дали приложението трябва да може да работи като типично приложение за платно на локалния хост с функционалност на Facebook. Например диалоговият прозорец за заявки ще се изпълнява локално в приложение за платно. Трябва ли да мога да използвам тази функционалност локално, докато се развивам? Ако е така, какви стъпки трябва да предприема, за да заработи?


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


Отговори (2)


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

Вашето приложение трябва да се държи по същия начин, независимо дали е на localhost или на крайния производствен сървър.

Facebook диалоговите прозорци (заявки, съобщения...) трябва да се показват на вашата локална (dev) машина, както се правят на живия сървър. В моя случай, за да направя тази работа, настройвам вторично „приложение за facebook“ с различни стойности за App Domains, Site URL и Canvas URL.

Това ви позволява да стартирате приложението си от localhost. Ако приложението ви е само платно, то ще работи във вградена рамка (която сочи към Site URL), но ще се показва във Facebook.

Освен това се уверете, че сте включили приложния програмен интерфейс (API) за JS на Facebook, ако искате да видите някое от модалните кутии на 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