SlideShare ist ein Scribd-Unternehmen logo
1 von 36
Facebook Places

     „Scan the Places“
                      +

Places im neuen Open Graph


      FranciMedia, AllFacebook Developer
                                           1
         Converence, 5. Dezember 2011
About me




    Stephan Alber
    (FranciMedia) / Freier Entwickler


    - Über 10 Jahre Berufserfahrung (Gründung erstes Social Network im Jahr 2001)
    - Werdegang - Quereinsteiger: Vom Nightlife Mensch (Presse, Promotion, Fotografie, Veranstalter) zum Software-Entwickler
    - Bachelor of Science „Online Media“, HS Furtwangen
    - Kunden im deutsch-sprachigem Raum sowie USA (Branchen: IT, Lebensmittel, Sport, Presse, Verbände, Tourismus, Agenturen, …
    - Über 200 publizierte Facebook Apps
    - Spezialisierung: Facebook, PHP, HTML, JS, CSS, ORM (Doctrine, Propel), Codeigniter, Symfony, etc.
    - Freizeitprojekte, Bspweise „Atomkraft? Nein Danke!“ – Über 500.000 Nutzer, in den Medien: ZDF Login, Stern online, etc.


                                                 FranciMedia, AllFacebook Developer
                                                                                                                                  2
                                                    Converence, 5. Dezember 2011
Scan the Places

Warum scannen?
- Statistiken
- Datenabgleich für Apps



            FranciMedia, AllFacebook Developer
                                                 3
               Converence, 5. Dezember 2011
Fallbeispiel für
Datenabgleich:
Gipfelstürmer (Triol)
http://vimeo.com/28065621

                 FranciMedia, AllFacebook Developer
                                                      4
                    Converence, 5. Dezember 2011
Was ist ein Place?


                                                                    Beispiel Timesquare
                                                                     August 2011:
                                                                     250.000 Checkins

                                                                     Dezember 2011:
                                                                     350.000+ Checkins

                                                                    Zuwachs in 4 Monaten:
                                                                    ca. 40%

                                                                    „Were here“ !=
                                                                    „checkins“




   http://www.facebook.com/timessquarenyc?sk=info

                               FranciMedia, AllFacebook Developer
                                                                                          5
                                  Converence, 5. Dezember 2011
Datenstruktur – Facebook Place Objekt


     "id": "39875583837",
       "name": "Times Square NYC",
       "picture": "http://profile.ak.fbcdn.net/hprofile-ak-ash2/373361_39875583837_1657282510_s.jpg",
       "link": "http://www.facebook.com/timessquarenyc",
       "likes": 353878,
       "category": "Local business",
       "website": "http://www.TimesSquareNYC.org",
       "username": "timessquarenyc",
       "description": "The Official source of Times Square",
       "location": {
          "street": "1560 Broadway u0040 the Crossroads of the World",
          "city": "New York",
          "state": "NY",
          "country": "United States",
          "zip": "10036",
          "latitude": 40.758107033743,
          "longitude": -73.98555055563
       },
       "public_transit": "42nd Street/Times SquarenA,C,E,1,2,3,N,R,Q,W,S,7",
       "phone": "(212) 768-1560",
       "can_post": true,
       "checkins": 367644,
       "talking_about_count": 24250




                                                   FranciMedia, AllFacebook Developer
                                                                                                        6
                                                      Converence, 5. Dezember 2011
Grundschritte – Scanvorgang


    1.  Region eingrenzen
    2.  Scanner Punkte erstellen
       – Grund
          •    Vergleichbarkeit der Daten über unterschiedliche Zeiträume
          •    Fortschritt (%) / DB Zustand
          •    Zur Vermeidung doppelter Scan-Vorgänge
       – Punkte festlegung über:
          •    x/y Raster
          •    Radial (Sprialfunktion)
       – Eigenschaften
          •    Geo-Position (latitude/longitude)
          •    Uhrzeit des letzten Scans
    3. Scannen
                                                                   Archimedische Spirale
                                                                   Quelle: Wikipedia


                              FranciMedia, AllFacebook Developer
                                                                                           7
                                 Converence, 5. Dezember 2011
Code-Beispiel: Scan-Request



     <?php
       public static function getNearbyPlaces($latitude, $longitude, $region_id, $distance = 1000, $debug = false)
       {
         $access_token = sfConfig::get('app_offline_access_token');

           $url = "https://graph.facebook.com/search?type=place&center=" . $latitude . "," . $longitude . "&distance=" .
            $distance;

           $data = file_get_contents($url);
           $data = json_decode($data);

           foreach ($data->data as $key => $row)
           {
              if ($Place = self::createPlaceByCoordinates($row->name, $row->location->latitude, $row->location->longitude, $row-
             >id, $region_id, false, $debug))
              {
                  $Place->getFacebookInfo();
                  $Place->free();
              }
           }
       }




                                                  FranciMedia, AllFacebook Developer
                                                                                                                                   8
                                                     Converence, 5. Dezember 2011
Scan-Ergebnisse*


    Manhattan
        – ca. 100.000 places
        – ca. 7.000.000 checkins
        – 72 checkins per place (avg)


    Berlin (Mitte)
        – ca. 30.000 places
        – ca. 1.000.000 checkins
        – 38 checkins per place (avg)

    *: August 2011; Kein Anspruch auf Vollständigkeit (!)

                          FranciMedia, AllFacebook Developer
                                                               9
                             Converence, 5. Dezember 2011
Places Heatmap


      Graphische Darstellung der Daten
      Satelliten Karte                  Heatmap
                                                              Quelle:
                                                              wikipedia




                                           rot = warm
                                           grün = neutral
                                           Blau = kalt



                         FranciMedia, AllFacebook Developer
                                                                          10
                            Converence, 5. Dezember 2011
Beispiel Ergebnis – Places in Manhattan (NYC)




                                                                    Bildmaterial: Google Maps


                               FranciMedia, AllFacebook Developer
                                                                                                11
                                  Converence, 5. Dezember 2011
Beispiel Ergebnis – Bars in Manhattan (NYC)




                                                                    Bildmaterial: Google Maps


                               FranciMedia, AllFacebook Developer
                                                                                                12
                                  Converence, 5. Dezember 2011
Beispiel Ergebnis – Bars in Manhattan (NYC)




                                                                    Bildmaterial: Google Maps


                               FranciMedia, AllFacebook Developer
                                                                                                13
                                  Converence, 5. Dezember 2011
„Scan the Places“ - Live Demo




  Demo URL:
  places.fmhosting.de/heatmap/index/10


                                FranciMedia, AllFacebook Developer
                                                                     14
                                   Converence, 5. Dezember 2011
Places im neuen Open Graph
Crash Kurs:
• Objekt mit „Map“-Eigenschaften erstellen
    • Datentyp: GeoPoint
• Aktion erstellen
    • Attachment Layout
    • Positionsbezug
• Zusammenfassung/Aggregation erstellen
• Anwendungsbeispiel
• Code-Beispiele (HTML, JS, PHP)




                           FranciMedia, AllFacebook Developer
                                                                15
                              Converence, 5. Dezember 2011
Objekt bearbeiten

• Allgemeine Eigenschaften:
    • URL, Titel, Bild, Beschreibung, …
• Position
    • Datentyp - GeoPoint: Latitude, Longitude, Altitude
• Weitere Eigenschaften
    • Checkins, Likes, Altitude*




                            FranciMedia, AllFacebook Developer
                                                                 16
                               Converence, 5. Dezember 2011
Objekt bearbeiten – Bsp „Mountain“




                             FranciMedia, AllFacebook Developer
                                                                  17
                                Converence, 5. Dezember 2011
Objekt bearbeiten – Bsp „Mountain“




                             FranciMedia, AllFacebook Developer
                                                                  18
                                Converence, 5. Dezember 2011
Objekt bearbeiten – Bsp „Mountain“




                             FranciMedia, AllFacebook Developer
                                                                  19
                                Converence, 5. Dezember 2011
Code-Beispiel: META-Tags




        • Meta-Tags Code wird in Head-Tag eingefügt
        • pro Objekt eine URL



                                FranciMedia, AllFacebook Developer
                                                                     20
                                   Converence, 5. Dezember 2011
Code-Beispiel: META-Tags




             Objekt debuggen über: http://developers.facebook.com/tools/debug/
      Bsp. Test URL: http://developers.facebook.com/tools/debug/og/object?q=http://summiteer.fmhosting.de/app/place/514


                                             FranciMedia, AllFacebook Developer
                                                                                                                          21
                                                Converence, 5. Dezember 2011
Aktion bearbeiten

• Allgemeine Eigenschaften:
    • URL, Titel, Bild, Beschreibung, …
• Position
    • Datentyp - Geopoint: Latitude, Longitude, Altitude
• Weitere Eigenschaften
    • Checkins, Likes, Altitude*




                            FranciMedia, AllFacebook Developer
                                                                 22
                               Converence, 5. Dezember 2011
Aktion bearbeiten – Bsp „Climb“




                             FranciMedia, AllFacebook Developer
                                                                  23
                                Converence, 5. Dezember 2011
Aktion bearbeiten – Bsp „Climb“




                             FranciMedia, AllFacebook Developer
                                                                  24
                                Converence, 5. Dezember 2011
Aggregation
• Zusammenfassung von Aktionen
eines Nutzers (im Zeitraum X)
• Darstellungsformen:
   • Listen
   • Galerien
   • Tabellen
   • Karte
   • Artikel
   • Zahl/Statistik




                      FranciMedia, AllFacebook Developer
                                                           25
                         Converence, 5. Dezember 2011
Aggregation: Single Action




                             FranciMedia, AllFacebook Developer
                                                                  26
                                Converence, 5. Dezember 2011
Aggregation: Multiple Actions




                                FranciMedia, AllFacebook Developer
                                                                     27
                                   Converence, 5. Dezember 2011
Beispielanwendung / User-Perspektive




                             FranciMedia, AllFacebook Developer
                                                                  28
                                Converence, 5. Dezember 2011
Code-Beispiel



     <?php
     $query = array();
     $query['mountain'] = 'http://' . $_SERVER['SERVER_NAME'] . url_for('app/place?place_id=' . $Place->id);
     $query['place'] = $Place->fb_id;
     ?>

     <script type="text/javascript">
       function execAction(action)
       {
          FB.api('/me/summiteer:'+action+'?<?php echo http_build_query($query); ?>','post',
                    function(response) {
                       console.log(response);
              if (!response || response.error) {
                    alert('Error occured');
              } else {
                  alert('Post was successful! Action ID: ' + response.id);
                  }
          });
       }

     </script>




                                              FranciMedia, AllFacebook Developer
                                                                                                               29
                                                 Converence, 5. Dezember 2011
Code-Beispiel für „Route“



     <?php
     $query = array();
     $query['mountain'] = 'http://' . $_SERVER['SERVER_NAME'] . url_for('app/place?place_id=' . $Place->id);
     $query['place'] = $Place->fb_id;
     $query['route'] = array(
        array(
           "latitude"=> 47.074236,
           "longitude"=> 12.694061,
           "altitude"=> 3798
        ),
        array(
           "latitude"=> 47.174236,
           "longitude"=> 12.794061,
           "altitude"=> 3698
        ),
        array(
           "latitude"=> 47.274236,
           "longitude"=> 12.794061,
           "altitude"=> 3598
        ),
     );                                                          ACHTUNG : Dies ist ein Format-Beispiel,
     ?>
                                                                       keine offizielles FB Datenformat!


                                         FranciMedia, AllFacebook Developer
                                                                                                           30
                                            Converence, 5. Dezember 2011
Aggregation – Darstellung in der Timline




                               FranciMedia, AllFacebook Developer
                                                                    31
                                  Converence, 5. Dezember 2011
Aggregation / Zusammenfassung




                                                                 http://developers.facebook.com/tools/ex
                                                                       plorer/155476011209694/?method
                                                                       =GET&path=me/summiteer:climb




                            FranciMedia, AllFacebook Developer
                                                                                                       32
                               Converence, 5. Dezember 2011
FranciMedia, AllFacebook Developer
                                     33
   Converence, 5. Dezember 2011
FranciMedia, AllFacebook Developer
                                     34
   Converence, 5. Dezember 2011
Aktueller Stand > Beta
• Datenstrukturen
   – funktionsfähig

• Konfiguration der
  Aktionen und Objekte
   – unter Vorbehalt
     funktionsfähig

• Konfiguration und
  Darstellung der
  Aggregations
   – Buggy / Beta


                       FranciMedia, AllFacebook Developer
                                                            35
                          Converence, 5. Dezember 2011
Ausblick > Großes Potential
• OG Maps + Mobile Apps
   – Essentiell für
     Nutzermotivation

• Shopping
   – Bsp.: Produkte die Freunde in
     der näheren Umgebung
     gekauft haben
       • Wann? / Wo?
       • Shop-Informationen
       • Produktinformation

• Großer Aufwand
   – Nicht geeigenet für
     kurzfristige Promotion-
     Aktionen
   – Geringe Erfahrungswerte mit
     „Approval Process“

                              FranciMedia, AllFacebook Developer
                                                                   36
                                 Converence, 5. Dezember 2011

Weitere ähnliche Inhalte

Ähnlich wie FACEBOOK PLACES - Scan the Places (by Stephan Alber @ AllFacebook Developer Conference)

Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
AllFacebook.de
 
Volunteered Geographic Information
Volunteered Geographic InformationVolunteered Geographic Information
Volunteered Geographic Information
Oliver Roick
 

Ähnlich wie FACEBOOK PLACES - Scan the Places (by Stephan Alber @ AllFacebook Developer Conference) (20)

Next11_reasons_to_love_the_web
Next11_reasons_to_love_the_webNext11_reasons_to_love_the_web
Next11_reasons_to_love_the_web
 
Wie macht man ein Museum mobil? Crowdfunding für kulturelle Bildung
Wie macht man ein Museum mobil? Crowdfunding für kulturelle BildungWie macht man ein Museum mobil? Crowdfunding für kulturelle Bildung
Wie macht man ein Museum mobil? Crowdfunding für kulturelle Bildung
 
OKLab Leipzig 2021
OKLab Leipzig 2021OKLab Leipzig 2021
OKLab Leipzig 2021
 
Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
Inside Open Graph: How to connect all the things! @ AllFacebook Developer Con...
 
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-AppSlides zum OpenTuesday: NeoMap – eine Offline-Karten-App
Slides zum OpenTuesday: NeoMap – eine Offline-Karten-App
 
Der mobile Wissenarbeit
Der mobile WissenarbeitDer mobile Wissenarbeit
Der mobile Wissenarbeit
 
Crowdsourcing speedlab
Crowdsourcing speedlabCrowdsourcing speedlab
Crowdsourcing speedlab
 
OkLab Leipzig (state: 2017)
OkLab Leipzig (state: 2017)OkLab Leipzig (state: 2017)
OkLab Leipzig (state: 2017)
 
OpenStreetMap für Webkarten ("OpenStreetMap - die unterschätzte Ressource")
OpenStreetMap für Webkarten ("OpenStreetMap - die unterschätzte Ressource")OpenStreetMap für Webkarten ("OpenStreetMap - die unterschätzte Ressource")
OpenStreetMap für Webkarten ("OpenStreetMap - die unterschätzte Ressource")
 
Live Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner DatenLive Singapore - Interaktive Visualisierungen urbaner Daten
Live Singapore - Interaktive Visualisierungen urbaner Daten
 
OKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 UpdateOKLab Leipzig - 2023 Update
OKLab Leipzig - 2023 Update
 
Online Social Graph Consolidation
Online Social Graph ConsolidationOnline Social Graph Consolidation
Online Social Graph Consolidation
 
Bayerische Museen im Web 2.0
Bayerische Museen im Web 2.0Bayerische Museen im Web 2.0
Bayerische Museen im Web 2.0
 
Eine (kleine) Übersicht über Geodaten-Quellen in der Schweiz
Eine (kleine) Übersicht über Geodaten-Quellen in der SchweizEine (kleine) Übersicht über Geodaten-Quellen in der Schweiz
Eine (kleine) Übersicht über Geodaten-Quellen in der Schweiz
 
OkLab Leipzig (2018 Update)
OkLab Leipzig (2018 Update)OkLab Leipzig (2018 Update)
OkLab Leipzig (2018 Update)
 
Social Media Monitoring & Analyse (Präsentation Infopaq beim 5. Twittwoch Rhe...
Social Media Monitoring & Analyse (Präsentation Infopaq beim 5. Twittwoch Rhe...Social Media Monitoring & Analyse (Präsentation Infopaq beim 5. Twittwoch Rhe...
Social Media Monitoring & Analyse (Präsentation Infopaq beim 5. Twittwoch Rhe...
 
Relicamp12 – Das Web 2.0 ist tot. Es lebe das Überallinternet!
Relicamp12 – Das Web 2.0 ist tot. Es lebe das Überallinternet!Relicamp12 – Das Web 2.0 ist tot. Es lebe das Überallinternet!
Relicamp12 – Das Web 2.0 ist tot. Es lebe das Überallinternet!
 
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
Generische Kuratierungstechnologien für spezifische Anwendungsfälle: Hintergr...
 
Kolloquium swisstopo 2.12.2011 Mobile und weitere Funktionen
Kolloquium swisstopo 2.12.2011 Mobile und weitere FunktionenKolloquium swisstopo 2.12.2011 Mobile und weitere Funktionen
Kolloquium swisstopo 2.12.2011 Mobile und weitere Funktionen
 
Volunteered Geographic Information
Volunteered Geographic InformationVolunteered Geographic Information
Volunteered Geographic Information
 

Mehr von AllFacebook.de

Mehr von AllFacebook.de (20)

„New Work“ im Tagesschau Social-Media Team. Learnings aus 6 Monaten Arbeiten ...
„New Work“ im Tagesschau Social-Media Team. Learnings aus 6 Monaten Arbeiten ...„New Work“ im Tagesschau Social-Media Team. Learnings aus 6 Monaten Arbeiten ...
„New Work“ im Tagesschau Social-Media Team. Learnings aus 6 Monaten Arbeiten ...
 
Grow Up. Finally.
Grow Up. Finally.Grow Up. Finally.
Grow Up. Finally.
 
So nutzt du die ganze Power des Algorithmus: Katalog-Setup für Fortgeschritte...
So nutzt du die ganze Power des Algorithmus: Katalog-Setup für Fortgeschritte...So nutzt du die ganze Power des Algorithmus: Katalog-Setup für Fortgeschritte...
So nutzt du die ganze Power des Algorithmus: Katalog-Setup für Fortgeschritte...
 
12 Hacks für deine Instagram Ads - mit diesen Tipps steigerst du deine Perfor...
12 Hacks für deine Instagram Ads - mit diesen Tipps steigerst du deine Perfor...12 Hacks für deine Instagram Ads - mit diesen Tipps steigerst du deine Perfor...
12 Hacks für deine Instagram Ads - mit diesen Tipps steigerst du deine Perfor...
 
Instagram 2020 #AFBMC
Instagram 2020 #AFBMCInstagram 2020 #AFBMC
Instagram 2020 #AFBMC
 
TikTok for Humanity: Das Rote Kreuz für Generation Z #AFBMC
TikTok for Humanity: Das Rote Kreuz für Generation Z #AFBMCTikTok for Humanity: Das Rote Kreuz für Generation Z #AFBMC
TikTok for Humanity: Das Rote Kreuz für Generation Z #AFBMC
 
Von der Krise in die Krise aus der Krise - Social Media & Krisenkommunikation...
Von der Krise in die Krise aus der Krise - Social Media & Krisenkommunikation...Von der Krise in die Krise aus der Krise - Social Media & Krisenkommunikation...
Von der Krise in die Krise aus der Krise - Social Media & Krisenkommunikation...
 
Take your tracking to the next level with the power of Google Tag Manager #AFBMC
Take your tracking to the next level with the power of Google Tag Manager #AFBMCTake your tracking to the next level with the power of Google Tag Manager #AFBMC
Take your tracking to the next level with the power of Google Tag Manager #AFBMC
 
Wie du die Landingpages auf die Facebook Zielgruppen abstimmst #AFBMC
Wie du die Landingpages auf die Facebook Zielgruppen abstimmst #AFBMCWie du die Landingpages auf die Facebook Zielgruppen abstimmst #AFBMC
Wie du die Landingpages auf die Facebook Zielgruppen abstimmst #AFBMC
 
Wer braucht schon den (client-side) FB Pixel? Warum du auf Facebooks serverse...
Wer braucht schon den (client-side) FB Pixel? Warum du auf Facebooks serverse...Wer braucht schon den (client-side) FB Pixel? Warum du auf Facebooks serverse...
Wer braucht schon den (client-side) FB Pixel? Warum du auf Facebooks serverse...
 
Experimente mit dem Algorithmus - so kriegt man Reichweite auf LinkedIn #AFBMC
Experimente mit dem Algorithmus - so kriegt man Reichweite auf LinkedIn #AFBMCExperimente mit dem Algorithmus - so kriegt man Reichweite auf LinkedIn #AFBMC
Experimente mit dem Algorithmus - so kriegt man Reichweite auf LinkedIn #AFBMC
 
Geheimzutat Social Media: Das Erfolgsrezept von Sternekoch Alexander Kunz #AFBMC
Geheimzutat Social Media: Das Erfolgsrezept von Sternekoch Alexander Kunz #AFBMCGeheimzutat Social Media: Das Erfolgsrezept von Sternekoch Alexander Kunz #AFBMC
Geheimzutat Social Media: Das Erfolgsrezept von Sternekoch Alexander Kunz #AFBMC
 
Love Social - Social love. Eine Liebeserklärung an Social Media, die Diversit...
Love Social - Social love. Eine Liebeserklärung an Social Media, die Diversit...Love Social - Social love. Eine Liebeserklärung an Social Media, die Diversit...
Love Social - Social love. Eine Liebeserklärung an Social Media, die Diversit...
 
Onlinemarketing on the Edge - 100.000 Euro Bußgeld für ein Cookie? #AFBMC
Onlinemarketing on the Edge - 100.000 Euro Bußgeld für ein Cookie? #AFBMCOnlinemarketing on the Edge - 100.000 Euro Bußgeld für ein Cookie? #AFBMC
Onlinemarketing on the Edge - 100.000 Euro Bußgeld für ein Cookie? #AFBMC
 
15+ Möglichkeiten mit Deiner Facebook-Gruppe Geld zu verdienen #AFBMC
15+ Möglichkeiten mit Deiner Facebook-Gruppe Geld zu verdienen #AFBMC15+ Möglichkeiten mit Deiner Facebook-Gruppe Geld zu verdienen #AFBMC
15+ Möglichkeiten mit Deiner Facebook-Gruppe Geld zu verdienen #AFBMC
 
Shop, Shoppen, Instagram Shopping: Was ist State of The Art und was kommt noc...
Shop, Shoppen, Instagram Shopping: Was ist State of The Art und was kommt noc...Shop, Shoppen, Instagram Shopping: Was ist State of The Art und was kommt noc...
Shop, Shoppen, Instagram Shopping: Was ist State of The Art und was kommt noc...
 
Social Media, Boomer? Es wird ernst! #AFBMC
Social Media, Boomer? Es wird ernst! #AFBMCSocial Media, Boomer? Es wird ernst! #AFBMC
Social Media, Boomer? Es wird ernst! #AFBMC
 
„Alexa, wo kann ich heute kontaktlos mit Freunden shoppen?“ - Wie Voice das M...
„Alexa, wo kann ich heute kontaktlos mit Freunden shoppen?“ - Wie Voice das M...„Alexa, wo kann ich heute kontaktlos mit Freunden shoppen?“ - Wie Voice das M...
„Alexa, wo kann ich heute kontaktlos mit Freunden shoppen?“ - Wie Voice das M...
 
So synchronisierst du automatisiert Google Analytics Segmente zu Facebook Aud...
So synchronisierst du automatisiert Google Analytics Segmente zu Facebook Aud...So synchronisierst du automatisiert Google Analytics Segmente zu Facebook Aud...
So synchronisierst du automatisiert Google Analytics Segmente zu Facebook Aud...
 
WhatsApp 2020!? Das Messenger Marketing Update - was ihr 2020/21 umsetzen kön...
WhatsApp 2020!? Das Messenger Marketing Update - was ihr 2020/21 umsetzen kön...WhatsApp 2020!? Das Messenger Marketing Update - was ihr 2020/21 umsetzen kön...
WhatsApp 2020!? Das Messenger Marketing Update - was ihr 2020/21 umsetzen kön...
 

FACEBOOK PLACES - Scan the Places (by Stephan Alber @ AllFacebook Developer Conference)

  • 1. Facebook Places „Scan the Places“ + Places im neuen Open Graph FranciMedia, AllFacebook Developer 1 Converence, 5. Dezember 2011
  • 2. About me Stephan Alber (FranciMedia) / Freier Entwickler - Über 10 Jahre Berufserfahrung (Gründung erstes Social Network im Jahr 2001) - Werdegang - Quereinsteiger: Vom Nightlife Mensch (Presse, Promotion, Fotografie, Veranstalter) zum Software-Entwickler - Bachelor of Science „Online Media“, HS Furtwangen - Kunden im deutsch-sprachigem Raum sowie USA (Branchen: IT, Lebensmittel, Sport, Presse, Verbände, Tourismus, Agenturen, … - Über 200 publizierte Facebook Apps - Spezialisierung: Facebook, PHP, HTML, JS, CSS, ORM (Doctrine, Propel), Codeigniter, Symfony, etc. - Freizeitprojekte, Bspweise „Atomkraft? Nein Danke!“ – Über 500.000 Nutzer, in den Medien: ZDF Login, Stern online, etc. FranciMedia, AllFacebook Developer 2 Converence, 5. Dezember 2011
  • 3. Scan the Places Warum scannen? - Statistiken - Datenabgleich für Apps FranciMedia, AllFacebook Developer 3 Converence, 5. Dezember 2011
  • 4. Fallbeispiel für Datenabgleich: Gipfelstürmer (Triol) http://vimeo.com/28065621 FranciMedia, AllFacebook Developer 4 Converence, 5. Dezember 2011
  • 5. Was ist ein Place? Beispiel Timesquare August 2011: 250.000 Checkins Dezember 2011: 350.000+ Checkins Zuwachs in 4 Monaten: ca. 40% „Were here“ != „checkins“ http://www.facebook.com/timessquarenyc?sk=info FranciMedia, AllFacebook Developer 5 Converence, 5. Dezember 2011
  • 6. Datenstruktur – Facebook Place Objekt "id": "39875583837", "name": "Times Square NYC", "picture": "http://profile.ak.fbcdn.net/hprofile-ak-ash2/373361_39875583837_1657282510_s.jpg", "link": "http://www.facebook.com/timessquarenyc", "likes": 353878, "category": "Local business", "website": "http://www.TimesSquareNYC.org", "username": "timessquarenyc", "description": "The Official source of Times Square", "location": { "street": "1560 Broadway u0040 the Crossroads of the World", "city": "New York", "state": "NY", "country": "United States", "zip": "10036", "latitude": 40.758107033743, "longitude": -73.98555055563 }, "public_transit": "42nd Street/Times SquarenA,C,E,1,2,3,N,R,Q,W,S,7", "phone": "(212) 768-1560", "can_post": true, "checkins": 367644, "talking_about_count": 24250 FranciMedia, AllFacebook Developer 6 Converence, 5. Dezember 2011
  • 7. Grundschritte – Scanvorgang 1. Region eingrenzen 2. Scanner Punkte erstellen – Grund • Vergleichbarkeit der Daten über unterschiedliche Zeiträume • Fortschritt (%) / DB Zustand • Zur Vermeidung doppelter Scan-Vorgänge – Punkte festlegung über: • x/y Raster • Radial (Sprialfunktion) – Eigenschaften • Geo-Position (latitude/longitude) • Uhrzeit des letzten Scans 3. Scannen Archimedische Spirale Quelle: Wikipedia FranciMedia, AllFacebook Developer 7 Converence, 5. Dezember 2011
  • 8. Code-Beispiel: Scan-Request <?php public static function getNearbyPlaces($latitude, $longitude, $region_id, $distance = 1000, $debug = false) { $access_token = sfConfig::get('app_offline_access_token'); $url = "https://graph.facebook.com/search?type=place&center=" . $latitude . "," . $longitude . "&distance=" . $distance; $data = file_get_contents($url); $data = json_decode($data); foreach ($data->data as $key => $row) { if ($Place = self::createPlaceByCoordinates($row->name, $row->location->latitude, $row->location->longitude, $row- >id, $region_id, false, $debug)) { $Place->getFacebookInfo(); $Place->free(); } } } FranciMedia, AllFacebook Developer 8 Converence, 5. Dezember 2011
  • 9. Scan-Ergebnisse* Manhattan – ca. 100.000 places – ca. 7.000.000 checkins – 72 checkins per place (avg) Berlin (Mitte) – ca. 30.000 places – ca. 1.000.000 checkins – 38 checkins per place (avg) *: August 2011; Kein Anspruch auf Vollständigkeit (!) FranciMedia, AllFacebook Developer 9 Converence, 5. Dezember 2011
  • 10. Places Heatmap Graphische Darstellung der Daten Satelliten Karte Heatmap Quelle: wikipedia  rot = warm  grün = neutral  Blau = kalt FranciMedia, AllFacebook Developer 10 Converence, 5. Dezember 2011
  • 11. Beispiel Ergebnis – Places in Manhattan (NYC) Bildmaterial: Google Maps FranciMedia, AllFacebook Developer 11 Converence, 5. Dezember 2011
  • 12. Beispiel Ergebnis – Bars in Manhattan (NYC) Bildmaterial: Google Maps FranciMedia, AllFacebook Developer 12 Converence, 5. Dezember 2011
  • 13. Beispiel Ergebnis – Bars in Manhattan (NYC) Bildmaterial: Google Maps FranciMedia, AllFacebook Developer 13 Converence, 5. Dezember 2011
  • 14. „Scan the Places“ - Live Demo Demo URL: places.fmhosting.de/heatmap/index/10 FranciMedia, AllFacebook Developer 14 Converence, 5. Dezember 2011
  • 15. Places im neuen Open Graph Crash Kurs: • Objekt mit „Map“-Eigenschaften erstellen • Datentyp: GeoPoint • Aktion erstellen • Attachment Layout • Positionsbezug • Zusammenfassung/Aggregation erstellen • Anwendungsbeispiel • Code-Beispiele (HTML, JS, PHP) FranciMedia, AllFacebook Developer 15 Converence, 5. Dezember 2011
  • 16. Objekt bearbeiten • Allgemeine Eigenschaften: • URL, Titel, Bild, Beschreibung, … • Position • Datentyp - GeoPoint: Latitude, Longitude, Altitude • Weitere Eigenschaften • Checkins, Likes, Altitude* FranciMedia, AllFacebook Developer 16 Converence, 5. Dezember 2011
  • 17. Objekt bearbeiten – Bsp „Mountain“ FranciMedia, AllFacebook Developer 17 Converence, 5. Dezember 2011
  • 18. Objekt bearbeiten – Bsp „Mountain“ FranciMedia, AllFacebook Developer 18 Converence, 5. Dezember 2011
  • 19. Objekt bearbeiten – Bsp „Mountain“ FranciMedia, AllFacebook Developer 19 Converence, 5. Dezember 2011
  • 20. Code-Beispiel: META-Tags • Meta-Tags Code wird in Head-Tag eingefügt • pro Objekt eine URL FranciMedia, AllFacebook Developer 20 Converence, 5. Dezember 2011
  • 21. Code-Beispiel: META-Tags Objekt debuggen über: http://developers.facebook.com/tools/debug/ Bsp. Test URL: http://developers.facebook.com/tools/debug/og/object?q=http://summiteer.fmhosting.de/app/place/514 FranciMedia, AllFacebook Developer 21 Converence, 5. Dezember 2011
  • 22. Aktion bearbeiten • Allgemeine Eigenschaften: • URL, Titel, Bild, Beschreibung, … • Position • Datentyp - Geopoint: Latitude, Longitude, Altitude • Weitere Eigenschaften • Checkins, Likes, Altitude* FranciMedia, AllFacebook Developer 22 Converence, 5. Dezember 2011
  • 23. Aktion bearbeiten – Bsp „Climb“ FranciMedia, AllFacebook Developer 23 Converence, 5. Dezember 2011
  • 24. Aktion bearbeiten – Bsp „Climb“ FranciMedia, AllFacebook Developer 24 Converence, 5. Dezember 2011
  • 25. Aggregation • Zusammenfassung von Aktionen eines Nutzers (im Zeitraum X) • Darstellungsformen: • Listen • Galerien • Tabellen • Karte • Artikel • Zahl/Statistik FranciMedia, AllFacebook Developer 25 Converence, 5. Dezember 2011
  • 26. Aggregation: Single Action FranciMedia, AllFacebook Developer 26 Converence, 5. Dezember 2011
  • 27. Aggregation: Multiple Actions FranciMedia, AllFacebook Developer 27 Converence, 5. Dezember 2011
  • 28. Beispielanwendung / User-Perspektive FranciMedia, AllFacebook Developer 28 Converence, 5. Dezember 2011
  • 29. Code-Beispiel <?php $query = array(); $query['mountain'] = 'http://' . $_SERVER['SERVER_NAME'] . url_for('app/place?place_id=' . $Place->id); $query['place'] = $Place->fb_id; ?> <script type="text/javascript"> function execAction(action) { FB.api('/me/summiteer:'+action+'?<?php echo http_build_query($query); ?>','post', function(response) { console.log(response); if (!response || response.error) { alert('Error occured'); } else { alert('Post was successful! Action ID: ' + response.id); } }); } </script> FranciMedia, AllFacebook Developer 29 Converence, 5. Dezember 2011
  • 30. Code-Beispiel für „Route“ <?php $query = array(); $query['mountain'] = 'http://' . $_SERVER['SERVER_NAME'] . url_for('app/place?place_id=' . $Place->id); $query['place'] = $Place->fb_id; $query['route'] = array( array( "latitude"=> 47.074236, "longitude"=> 12.694061, "altitude"=> 3798 ), array( "latitude"=> 47.174236, "longitude"=> 12.794061, "altitude"=> 3698 ), array( "latitude"=> 47.274236, "longitude"=> 12.794061, "altitude"=> 3598 ), ); ACHTUNG : Dies ist ein Format-Beispiel, ?> keine offizielles FB Datenformat! FranciMedia, AllFacebook Developer 30 Converence, 5. Dezember 2011
  • 31. Aggregation – Darstellung in der Timline FranciMedia, AllFacebook Developer 31 Converence, 5. Dezember 2011
  • 32. Aggregation / Zusammenfassung http://developers.facebook.com/tools/ex plorer/155476011209694/?method =GET&path=me/summiteer:climb FranciMedia, AllFacebook Developer 32 Converence, 5. Dezember 2011
  • 33. FranciMedia, AllFacebook Developer 33 Converence, 5. Dezember 2011
  • 34. FranciMedia, AllFacebook Developer 34 Converence, 5. Dezember 2011
  • 35. Aktueller Stand > Beta • Datenstrukturen – funktionsfähig • Konfiguration der Aktionen und Objekte – unter Vorbehalt funktionsfähig • Konfiguration und Darstellung der Aggregations – Buggy / Beta FranciMedia, AllFacebook Developer 35 Converence, 5. Dezember 2011
  • 36. Ausblick > Großes Potential • OG Maps + Mobile Apps – Essentiell für Nutzermotivation • Shopping – Bsp.: Produkte die Freunde in der näheren Umgebung gekauft haben • Wann? / Wo? • Shop-Informationen • Produktinformation • Großer Aufwand – Nicht geeigenet für kurzfristige Promotion- Aktionen – Geringe Erfahrungswerte mit „Approval Process“ FranciMedia, AllFacebook Developer 36 Converence, 5. Dezember 2011