Frage

Normalerweise entwickle ich meine Websites auf Trunk, führe dann Änderungen in einem Testzweig zusammen, wo sie auf eine „Beta“-Website gestellt werden, und schließlich werden sie in einem Live-Zweig zusammengeführt und auf die Live-Website gestellt.

Bei einer Facebook-Anwendung ist die Sache etwas knifflig.Da Sie eine Facebook-Anwendung nicht über einen normalen Webbrowser anzeigen können (sie muss über die Facebook-Server laufen), können Sie nicht einfach jedem Entwickler seine eigene Version der Website geben, mit der er arbeiten und testen kann.

Ich habe noch nichts darüber herausgefunden, wie man eine Facebook-Anwendung am besten entwickelt und testet und gleichzeitig eine stabile Live-Website hat, die Benutzer nutzen können.Meine Frage lautet: Was ist die beste Vorgehensweise für die Organisation der Entwicklung und des Testens einer Facebook-Anwendung?

War es hilfreich?

Lösung

Mein Partner und ich haben es so gemacht, dass wir jeweils unsere eigenen privaten Facebook-Anwendungen erstellt haben, die auf unsere IP-Adresse verwiesen, an der wir gearbeitet haben.Da wir am selben Ort arbeiteten, wählten wir jeweils einen anderen Port und ließen diesen Port von unserem Router an unsere lokale IP-Adresse weiterleiten.Das Aktualisieren einer Seite war etwas langsam, aber es hat sehr gut funktioniert.

Andere Tipps

Versuchen Sie, Ihre Hosts-Datei zu aktualisieren (for windows users @ c:\windows\System32\Drivers\etc\hosts) mit einem Eintrag, der alle Anfragen von Ihrer Live-Domain zurück an Ihren Computer weiterleitet.

Also 127.0.0.1 mywebappthatusesfacebook.com.

Stellen Sie dann sicher, dass Ihre App im Stammverzeichnis Ihres Webservers ausgeführt wird.@ http://localhost/ Gehen Sie dann in Ihrem Browser zu mywebappthatusesfacebook.com und es sollte direkt zurück zu Ihrem lokalen Computer weitergeleitet werden.Facebook wird den Unterschied nicht bemerken.Hoffe das hilft

Sie müssen sowohl die Trunk- als auch die Testversion als unterschiedliche Anwendungen hinzufügen und sie mit testen Testkonten.Sie können auch eine einzelne Anwendung verwenden und deren Ziel-URL zwischen den Zyklen wechseln.

Das Testen von FB-Apps ist immer noch ein eher primitiver Prozess.

Im Allgemeinen richte ich eine Testanwendung ein, die eine vollständige Kopie der Produktionseinstellungen innerhalb der FB-Entwicklungsumgebung ist, die einen SSH-Tunnel verwendet, um auf meinen Entwicklungsserver zu verweisen.Sie können in FB so viele Anwendungen einrichten, wie Sie benötigen – ich habe im Allgemeinen eine Entwicklungsanwendung, eine Staging-App und eine Produktionsanwendung.Staging und Produktion erfolgen beide auf „Live“-Servern und nicht in einem SSH-Tunnel.

In Ihrer Anwendung verwenden Sie dann alle Ihnen zur Verfügung stehenden Sprach-/Framework-/Server-Tools, um die FB-Konfiguration basierend auf dem Server zu ändern.In Rails verfügt das Facebooker-Juwel tatsächlich über eine integrierte Unterstützung für verschiedene FB-Konfigurationen.

Sobald dies alles erledigt ist, geht es beim Testen leider immer noch darum, die App innerhalb von FB selbst auszuführen.Ich verwende Selenium, um so viel davon wie möglich zu automatisieren.

Der beste Weg, dies zu tun:

Entfernen Sie „App-Domain“ aus „Grundlegende Informationen“.

Setzen Sie die „Site-URL“ der Website auf:„http://localhost/“ .

So einfach.

(Dies gilt nur, wenn parallel zur Testumgebung kein Live-System läuft.Besorgen Sie sich in diesem Fall einen anderen Schlüssel.)

Wir haben es ähnlich wie Toby eingerichtet.Eine Reihe von Konfigurationsdateien für jeden Entwickler, die die Facebook-APP-ID-Informationen enthalten (eine andere App für jeden Entwickler), separate Seiten, auf denen die App gehostet wird, und Git ignoriert die Konfigurationsdateien.Wir sind LAMP mit Code Igniter und es ähnelt Rails darin, dass wir die Umgebung in einer Datei festlegen können, die auf die Konfiguration mit den Facebook-Konstanten verweist.

Verzweigung in Selenium, Verwendung von Unit-Tests für Modelltests.

Für den lokalen Test verwenden wir einfach eine andere App als für den Server.In unserem Fall ist die Canvas-URL auf localhost.local:8000 gesetzt.

Sie müssen nur darauf achten, dass Sie bei der Nutzung von Facebook Connect „localhost.local“ in das Adressfeld des Browsers eingeben und nicht nur „localhost“.

Zum Testen einer Canvas- oder Tab-App geht es schneller, wenn Sie den Firefox-Befehl „iFrame in neuem Tab öffnen“ verwenden.Dadurch bleiben die Sitzung und die Cookies von Facebook erhalten.

Eine andere Lösung ist NGROK

https://ngrok.com/

Es öffnet einen öffentlichen Tunnel zu Ihrer lokalen App

Beispiel für meine Rails-Anwendung durch einfaches Tippen

./ngrok 3000

Ich bekomme

http://630066fe.ngrok.com -> 127.0.0.1:3000 
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top