4. REALTIME
MYAPP MIT GRAPH API
» Nutzer besucht die Seite und soll ein Popup sehen wenn einer seiner
Freunde sich registriert hat.
» (Alternativ: Eine E-Mail bekommen)
7. REALTIME
FASTER! FASTER!
» Caching von Daten Abfrage nur alle 5 Minuten
+ Weniger Abfragen
+ Schnellere Ladezeiten
- Daten nicht aktuell
- Eigentlich keine Lösung des Ur-Problems
- Erster Aufruf Langsam (Caching via Web)
- Unnötige Abfrage von Daten (Caching via Cronjob)
8. REALTIME
REALTIME API
The Graph API supports real-time updates to enable your application using
Facebook to subscribe to changes in data from Facebook. Your application
caches data and receives updates, rather than polling Facebook’s
servers. Caching data and using this API can improve the reliability of your
application and decrease its load times.
» User (teilw.), Pages, Permissions
11. REALTIME
MYAPP MIT GRAPH API
» Nutzer besucht die Seite und soll ein Popup sehen wenn einer seiner
Freunde sich registriert hat.
» 1. Service aufsetzten
» 2. Änderungen abonnieren
» 3. Ausgeben / Weiterverarbeitung
12. REALTIME
PUSH UPDATES ABONNIEREN
1. Set up an endpoint URL that receives both HTTP GET (for subscription
verification) and POST (for actual change data) requests from Facebook.
» Registrieren eines „Endpoints“
» Verification?
GET = Verification | POST = Updates
19. REALTIME
ANWENDUNGBEISPIELE
» Neuer Freund registriert sich
» Check-Ins an Freunde pushen
» Post des Nutzers synchronisieren
» Nutzer erweitert oder schränkt Permissions ein
» Neuer like soll auf „deinem“ Portal verwertet werden
20. REALTIME
STOLPERFALLE CHECKIN
» AWESOME! Checkin kommt direkt auf unser
Portal!
» Woohooo!
» Freund markiert mich bei Checkin
» Zählt nicht als eigener Checkin
» Kein Push
Und da gibt es sicher noch einige mehr...
21. REALTIME
SCALING...
» Updates alle 5 Sekunden
» Gebündelt
» Falls updates
» (Oder) wenn sich 1000 Requests angesammelt
! haben
» „Your server should be set up to handle this
load...“
» Keine Info über Erweiterung der API (Roadmap)
27. REALTIME
OKAY, WAS GEHT?
» POST + GET Request in einem Batch?
» FQL QUERY + MULTIQUERY?
» Verschiedene Access Tokens in einem Batch?
» Dateien Uploaden?
» Abhängigkeiten zwischen einzelnen Requests?
32. BATCH RQST
INHALTE DER DISKUSSION
» Fanpages können komplett abonniert werden, allerdings nur wenn die App
hinzugefügt wurde.
» Sicherheit: Man kann jeden Request der Real-Time Updates verifizieren.
» With every response, Facebook sends the X-Hub-Signature HTTP
header which contains the SHA1 signature over the response
payload, using the application secret as the key - for example: 'X-Hub-
Signature: sha1=12345...'. The consumer can verify the signature to
validate the integrity of the payload.
» Das Einräumen weiterer Rechte ist keine Hemmschwelle für den
Durchschnittsnutzer.
» Daten sollten besser über HTTPS Übertragen werden (allerdings nicht
Pflicht).
» Nur eine Person bei Facebook Arbeitet an der Realtime API, allerdings hat
Facebook Interesse daran dieses Feature weiter zu entwickeln.
33. KONTAKT
Florian Bergmann
twitter: @flobby
http://facebook.com/florian.bergmann
WANTED:
RUBY ON RAILS ANYWHERE,
JAVASCRIPT ANYLEVEL,
NINJAS PART/FULLTIME/FREELANCE
Copyright: Diese Präsentation ist urheberrechtlich geschützt. Jede
Verwertung, Weitergabe oder Verwendung ohne Zustimmung durch
flobbymedia ist unzulässig. Die Inhalte dieser Präsentation sind vertraulich zu
behandeln. Die Weitergabe von Informationen und Inhalten an Dritte ist
unzulässig.
Disclaimer: Alle Zahlen und Daten wurden nach bestem Wissen und
Gewissen recherchiert. Eine Garantie für Daten von Dritt-Anbieten kann
allerdings nicht übernommen werden.