Flash, Network und Facebook Steven Mohr steven@stevenmohr.de
Gliederung 1. Wie ist eine Facebook-App aufgebaut 2. Basics 3. Erste Demo einer kleinen Flash-Facebook-App 4. Friends, Achievements und Invites 5. Zweiter Demoteil
Wie erstellt man eine Facebook-App? 1. Developer-App hinzufügen 2. Facebook-Anwendung registrieren 3. Coden 4. App auf öffentlichen Webspace hochladen
1. Developer-App hinzufügen Der erste Schritt ist ganz einfach: Geht zu www.facebook.com/developers Akzeptiert, dass die App auf euer Profil zugreift Fertig
2. Neue App anlegen Neue Anwendung erstellen -Knopf oben links in der Ecke Dialog öffnet sich: App-Name: Name eurer App (lässt sich später immernoch ändern) App-Namespace: ist optional. Nur Zahlen, Kleinbuchstaben und Unterstriche erlaubt! Locale: Am besten auf deutsch erstmal setzen Hosting ausschalten
3. Coden Was wird benötigt? FlashBuilder Facebook AS Web SDK (http://code.google.com/p/facebookactionscript-api/) Die App-Idvon Schritt 2
Bevor es losgeht: Graph API Gesamte Kommunikation mit Facebook findet über die Facebook Graph API statt Jedes Objekt (User, Page, App, Achievement, Link, etc.) hat eine UID Mit Hilfe dieser IDs werden Beziehungen modelliert User 234345345 likes Page 63423468678 An diesen Beziehungen hängen dann noch Properties, die weitere Details erläutern Graph API ist eine REST-Schnittstelle
Exkurs: REST REST ist ein Architekturstil für Webservices Im Gegensatz zu RPC oder SOAP: Ressourcenorientiert Daten und Funktionen werden als Ressourcen modelliert, auf die per HTTP GET, PUT, POST und DELETE zugegriffen wird Beispiel: Freunde-Ressource GET könnte alle Freunde einer Person zurückgeben POST könnte neue Freunde hinzufügen oder ändern DELETE würde Freunde entfernen PUT wird teilweise synonym mit POST verwendet oder im Zusammenhang mit File-Uploads
DEMO TEIL 1 Projekt anlegen Log-In und Log-Out Userdaten abrufen Posts lesen und schreiben
Was geht noch? Userdaten und bild abrufen ist nett, aber Social Games brauchen mehr: Freunde des Nutzer abrufen Exkurs: OAuth2 Achievements posten Invitations zum Social Game
Freunde abfragen Das Abfragen der Freundesliste eines Users geht ohne besondere Berechtigungen Einfach einen API-Call auf me/friends und ihr bekommt eine Liste mit User ID und Namen der Freunde des Nutzers.
OAuth2 Was macht OAuth? Erlaubt es Nutzern ihre Daten bei einem Dienst freizugeben, ohne einem anderen Dienst ihr Benutzernamen und ihr Passwort zu geben. Sie genieren einen Token für den Dienst, diesem dann den Zugriff auf bestimmte Daten erlaubt. Facebook Graph API benutzt OAuth! App-Accesstoken bekommen: HTTP GET: https://graph.facebook.com/oauth/access_token?client_id=app_id &client_secret=app_secret&grant_type=client_credentials
Achievements Sind Spielstufen, die ein Nutzer erreichen kann ( Frank hat die grüne Froschburg erobert ) Jeder Spieler kann ein Achievement nur einmal erreichen Jedes Spiel kann 1000 Punkte auf seine Achievements verteilen (Gewichtung) und max. 1000 Achievements anlegen Je mehr Punkte man vergibt, um so höher ist auch die Wahrscheinlichkeit, dass die Nachricht in der Timeline der Freunde auftaucht Achievements gibt es als Definition und als Instanz
Achievements Wie erstellt man die Definition? Man erstellt eine HTML-Datei mit folgenden Properties im Header:
Achievements Diese Datei wird dann mit Hilfe der Graph API für die eigene App registriert. HTTP POST zu /APP_ID/achievements Identifiziert mit dem App Access Token
Achievements (User-Instanzen) Um ein Achievement zu vergeben, bedarf es eines HTTP POST zu /USER_ID/Achievemens mit der URL des Achieviements.
Request und Invitations Requests gibt es in drei Ausprägungen User zu Freund, der die App nicht installiert hat (Invite) User zu Freund, der die App installiert hat User zu anderem User (nicht Freund), der die App installiert hat Was passiert bei einem Invite? Der angesprochene User bekommt eine Nachricht ala Paul hat dich zu DemoApp eingeladen Wenn der Benutzer raufklickt, wird er auf die Startseite der App verwiesen und kann die App installieren. Dann muss die App den Invite wieder löschen, denn von alleine geht der nicht...
Demo2 Freunde auslesen FlashBuilder Achievement anlegen und verteilen HTML-Editor + Graph API Explorer Invites versenden und empfangen
Vielen Dank! 19