Social Media Apps Programming Min-Yuh Day, Ph.D. Assistant Professor Department of Information Management Tamkang University Facebook API (Facebook JavaScript SDK) (Integrate Facebook with iOS/Android Apps) Tamkang University SMAP11 TLMXM1A (8687) (M2143) (Fall 2013) (MIS MBA) (2 Credits, Elective) [Full English Course] Thu 9,10 (16:10-18:00) V201
Course Schedule (1/3) Week Date Subject/Topics /09/19 Mid-Autumn Festival (Day off) /09/26 Course Orientation and Introduction to Social Media and Mobile Apps Programming /10/03 Introduction to Android / iOS Apps Programming /10/10 Double Tenth Day (Day off) /10/17 Developing Android Native Apps with Java (Eclipse) (MIT App Inventor) /10/24 Developing iPhone / iPad Native Apps with Objective-C (Xcode) 2
Course Schedule (2/3) Week Date Subject/Topics /10/31 Mobile Apps using HTML5/CSS3/JavaScript /11/07 jQuery Mobile /11/14 Create Hybrid Apps with PhoneGap /11/21 Midterm Exam Week (Midterm Project Report) /11/28 jQuery Mobile/Phonegap /12/05 Invited Talk: Social, Mobile and Business Model in PIXNET [Invited Speaker: Dr. Rick Cheng-Yu Lu] 3
Course Schedule (3/3) Week Date Subject/Topics /12/12 Case Study on Social Media Apps Programming and Marketing in Google Play and App Store /12/19 Google App Engine and Google Map API /12/26 Facebook API (Facebook JavaScript SDK) (Integrate Facebook with iOS/Android Apps) /01/02 Twitter API /01/09 Final Project Presentation /01/16 Final Exam Week (Final Project Report) 4
Outline Facebook API – Facebook JavaScript SDK – Integrate Facebook with iOS/Android Apps – Facebook Login – Facebook Open Graph API – Facebook Graph API 5
Facebook Developers 6
Integrate Facebook with your native iOS apps 7
8 Facebook SDK for iOS
Integrate Facebook with your native Android apps. 9
10 Facebook SDK for Android
Integrate Facebook with your Web Apps 11
12 Facebook for Web Developers
13 Facebook for Web Developers
14 Facebook for Web Developers
15 Facebook for Web Developers
Adding social features with Plugins 16 Like Button Comments Box
17 Facebook Login
Facebook Login for JavaScript 18
19 Facebook Login for JavaScript
20 Facebook Login for JavaScript 1/3
21 Facebook Login for JavaScript 2/3
22 Facebook Login for JavaScript 3/3
23 Facebook Login for JavaScript
Demo: Facebook Apps Create New App 24
25 Facebook Apps: Create New App Apps
26 Facebook Apps: Create New App
27 Facebook Apps: Create New App
28 Facebook Apps: Create New App
29 Facebook Apps: Create New App
30 iMyday App ID: App Secret: c64d6b231b7c22003b8ddc25a99e20ec(reset) Facebook Apps: Create New App
31 Facebook Apps: Create New App
32 Facebook.html Facebook Login appID
Facebook Login appID 33 window.fbAsyncInit = function() { FB.init({ appId : ' ', status : true, // check login status cookie : true, // enable cookies to allow the server to access the session xfbml : true // parse XFBML });
34 Facebook Login
35 Facebook Login
Test Facebook Login on jsbin.com 36
37 Test Facbook Login on jsbin.com Select how your app integrates with Facebook
Facebook SDK for JavaScript 38
39 Facebook SDK for JavaScript
40 Facebook SDK for JavaScript
41 Facebook SDK for JavaScript
42 window.fbAsyncInit = function() { // init the FB JS SDK FB.init({ appId : 'YOUR_APP_ID', // App ID from the app dashboard status : true, // Check Facebook Login status xfbml : true // Look for social plugins on the page }); // Additional initialization code such as adding Event Listeners goes here }; // Load the SDK asynchronously (function(){ // If we've already installed the SDK, we're done if (document.getElementById('facebook-jssdk')) {return;} // Get the first script element, which we'll use to find the parent node var firstScriptElement = document.getElementsByTagName('script')[0]; // Create a new script element and set its id var facebookJS = document.createElement('script'); facebookJS.id = 'facebook-jssdk'; // Set the new script's source to the source of the Facebook JS SDK facebookJS.src = '//connect.facebook.net/en_US/all.js'; // Insert the Facebook JS SDK into the DOM firstScriptElement.parentNode.insertBefore(facebookJS, firstScriptElement); }()); Facebook SDK for JavaScript
Facebook for Mobile 43
44 Facebook for Mobile
45 Facebook for Mobile
Facebook Like Button 46 Let people share pages and content from your site back to their Facebook profile with one click, so all their friends can read them.
47 Facebook Like Button
48 Facebook Like Button
49 (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/en_US/all.js#xfbml=1"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); Facebook Like Button
50 Facebook Share Button
51 Facebook Share Button
Facebook Open Graph API 52
Open Graph Overview 53
Getting Started with Open Graph 54
55 Step 1: Create a Facebook App
56 Step 2: Set Up the App 1/3
57 Step 2: Set Up the App 2/3
58 Step 2: Set Up the App 3/3
59 Step 3: Publish a Story
60 Step 3: Publish a Story
61 Step 4: Submit Your Actions For Review
Open Graph 62
Facebook Open Graph API A Facebook API to share information – From your app – To Facebook Ex – Pinterest 63 Source:
Facebook APIs 64
Facebook Graph API 65
66 Quickstart for Graph API
Getting Started with the Graph API 67
68 How the Graph API is structured
Load the Graph API Explorer 69
Facebook Graph API Explorer 70
Facebook Graph API Explorer /me 71
72 Facebook Graph API Explorer /me
73 Facebook Graph API Explorer /me
74 Facebook Graph API Explorer /me
75 Facebook Graph API Explorer /me
76 Facebook Graph API Explorer /me
77 Facebook Graph API Explorer /me/friends
78 Facebook Graph API Explorer Publish actions
79 Facebook Graph API Explorer Post Message
80 Facebook Graph API Explorer Post Message
81
82
JavaScript vs. JSON JSON – JavaScript Object Notation Format for sharing data Derived from JavaScript Language independent An alternative to XML 83 Source:
JSON Advantages – Easy to read – Easy to write – Easy to Parse Var info = JSON.parse(data); Info.name Info.position Info.courses[i] – Learner than XML – Growing support in APIs (i.e., Facebook, Twitter) – Natural format for JavaScript – Implementation in many languages 84 Source:
JSON { “name”:“Min-Yuh Day” “position”:“Assistant Professor” “courses”:[ “Social Media Apps Programming” “Social Media Marketing” “Data Mining” ] } 85 var info = JSON.parse(data); info.name info.position info.courses[i] Source:
Summary Facebook API – Facebook JavaScript SDK – Integrate Facebook with iOS/Android Apps – Facebook Login – Facebook Open Graph API – Facebook Graph API 86
References Facebook Developers, 87