Facebook
   am PoS



Jan Peiniger • www.pemedia.de
Jan Peiniger
Geschäftsführer Kreation
    pemedia GmbH
     www.pemedia.de
Was wollen wir
überhaupt am PoS?
Menschen!
Positive Markenmomente
  Schwer über einen Zeitraum
         zu erhalten
Personalisierte
Erlebnisse schaffen!
 Menschen zu Reichweite
auf Facebook konvertieren.
Was wird bisher gemacht?
Mobile
Nicht immer
    100% geeignet
-  Apps müssen erst installiert werden
-  Web-Apps fehlen teilweise Features
          -  Kleiner Screen
Terminals als
spezialisierte Devices
Features
      • Touchscreen
• flexible Screengrößen
 • Cams (Web / DSLR)
 • Scanner (QR, RFID)
        • Drucker
   ...oder auch Kinect
Alles schon gesehen!
   Aber wir wollen es Social!
Frage:
Wie an einem fremden Device
  mit Facebook einloggen?
Wandelnder
ACCESS TOKEN
Barriere zwischen
User / Terminal & Facebook
Eingabe der Daten am
   fremden Gerät?
   Unsicher! Unseriös!
FB Login              API
Nutzer                               Facebook




                    Terminal
Was wäre eine
sichere Lösung?
Login über das
   eigene Smartphone!
Sicherer Login / Keine Dateneingabe
         am fremden Gerät.
Nutzer

                               API
                                     Facebook
FB Login

           Mobile

                    Terminal
User auf Short-URL führen
    Mobile Web App mit Login
Einfacher Prozess


                Access
               Token &
               User ID
Mobile Web-App
          Simpel: Facebook JS SDK Login


FB.login(
   function(response) { }, { scope:'publish_actions, user_photos’ }
);

FB.Event.subscribe('auth.statusChange’, handleStatusChange);
Native Apps
Single Sign On per iOS
  oder Android SDK
Aber: Was nutzt uns der
Token auf dem Smartphone?
  Es fehlt noch die Verbindung zum
              Terminal
Nutzer                                   Facebook
                    Terminal



         FB Login               Permission:
                               ACCESS TOKEN
                                  USER ID

                      Mobile
Access Token + User ID
    in DB ablegen
  Tipp: 60 Tage Token holen!
URL Aufruf (z.B. cURL)
           Response:
 Neuer Access Token & expire time

https://graph.facebook.com/oauth/access_token
?client_id=APP_ID
&client_secret=APP_SECRET
&grant_type=fb_exchange_token
&fb_exchange_token=ACCESS_TOKEN
Code pro User
                 generieren

                            Code


Mobile

                                                   Terminal
         ACCESS TOKEN                    Query
            USER ID                    über Code


                        Datenbank:
                        Access Token
                           User ID
                            Code
Die elegante Lösung
QR-Code vom Display scannen
Zentrales
Login-Element
Einfacher Prozess

               Code-Scan
               am Terminal



               Datenbank:
               • Access Token
               • User ID
               • Code
API

Nutzer        Eingaben
                                                     Facebook

                         Terminal

                               Code scan


         FB Login                            Permission:
                                             • Access Token
                                             • User ID
                                             • Code

                           Mobile
Weiter geht‘s auf
 dem Terminal
Die Terminal Hardware
     Zeit zu spielen!
Windows, Mac, iOS, Android?!
Ganz egal: Wahl der richtigen Plattform
        je nach Einsatzgebiet
Touchscreen
 ELO und Co...
QR Code Scanner
Tastatur-Eingabegerät
Fancy Stuff
Cams, Kinect, Drucker, etc...
Adobe Air Apps
Device übergreifend
  Desktop -> iPad
Adobe AIR Facebook SDK
  Access Token aus Datenbank
      manuell übermitteln
Wer arbeitet mit ActionScript?
          Jetzt melden!
API Init
              SDK als Download unter:
http://code.google.com/p/facebook-actionscript-api/

import com.facebook.graph.FacebookDesktop;
FacebookDesktop.init(APP_ID, onInit, ACCESS_TOKEN);

function onInit(result:Object, fail:Object):void {
    if (result) {
          trace(“Logged In");
    } else {
          trace("Not Logged In: GET A NEW CODE");
    }
}
API Get
     Nach erfolgreichem Init kann die API beliebig
                  angefragt werden.


var params:Object = {};
FacebookDesktop.api('/me', getFBuserdata, params, 'GET');

function getFBuserdata(result:Object, fail:Object):void {
   if (result) {
        trace( result );
   }
}
API Post
         Bildupload auf die Pinnwand des Users:

var params:Object = {
    image : IMAGE, // Als JPG imageByteArray
    message : ‘TEXT’,
    fileName : ‘NAME' ,
    place : ’PLACE ID’
};

FacebookDesktop.api('/me/photos', postFBphoto, params, 'POST');
function postFBphoto(result:Object, fail:Object):void {
    if (result) {
          trace("Photo posted!");
          trace( result );
    }
}
API ist nutzbar wie in jeder
  anderen FB App auch:
Live View für Likes und Kommentare
           - Photo-Tagging
                -  etc...
Möglichkeiten:
Das Potential den Nutzern einen echten
 Mehrwert zu liefern ist da: Man muss
         es nur auch machen

 -  Anknüpfung an lokale Datenbanken
          -  Auslesen von Likes
 -  Logische Verknüpfungen herstellen
Think about it!
Nur Entwickler haben das
   nötige Know-How!
Vielen Dank!
    We are hiring ;-)




Jan Peiniger • www.pemedia.de

Facebook am POS mit Multitouch-Terminals auf Adobe-Air-Basis @ AllFacebook Developer Conference