Android Login with Facebook
Join the DZone community and get the full member experience.
Join For FreePre-requisite
Official Document: https://developers.facebook.com/docs/android/
Official Tutorial: https://developers.facebook.com/docs/android/login-with-facebook/v2.2
Previous Article: http://www.kpbird.com/2013/03/android-login-using-facebook-sdk-30.html
1. Facebook Android SDK 3.0 -Download
2. Facebook API Key from Facebook Application - Detail
3. Hash Key of your debug certificate - Detail
Usage
Step 1: Import "FacebookLoginUtils.java" class in your package
Step 2: Implement callback listener
public class MyActivity extends Activity implements FacebookLoginUtils.FacebookLoginStatus
Step 3: Declare callback method
@Override public void OnSuccessFacebookLogin(Bundle profile) { Log.i(TAG,profile.getString(FacebookLoginUtils.USERID)); Log.i(TAG,profile.getString(FacebookLoginUtils.EMAIL)); Log.i(TAG,profile.getString(FacebookLoginUtils.NAME)); Log.i(TAG,profile.getString(FacebookLoginUtils.FIRST_NAME)); Log.i(TAG,profile.getString(FacebookLoginUtils.LAST_NAME)); }
Step 4: Declare object of FacebookLoginUtils.java
private FacebookLoginUtils fLogin;
Step 5: Initialize object in onCreate method
fLogin = new FacebookLoginUtils(this, R.id.activity_login_fb); fLogin.setLoginStatus(this); fLogin.setEnable(true);
Step 6: Declare few supporting methods
protected void onResume() { super.onResume(); fLogin.onResume(); }; @Override protected void onPause() { super.onPause(); fLogin.onPause(); } @Override protected void onDestroy() { super.onDestroy(); fLogin.onDestroy(); } @Override protected void onActivityResult(int requestCode, int responseCode,Intent intent) { fLogin.onActivityResult(requestCode, responseCode, intent); }
FAQ
Q: What is the problem of above approach ?
A: Your activity has a lot of scattered code for Facebook login. It will be more complex and unmanageable when you will have another social network login, like Facebook and Twitter.
Q: How I will receive a response for login success?
A: You need to implement interface "FacebookLoginStatus", on successful login you will receive callback "OnSuccessFacebookLogin"
Q: What will be received on login success ?
A: You will have Name, Email , First Name, Last Name, User Id.
Q: Do I need to handle login failure/error ?
A: No, FacebookLoginUtils.java will handle login failure, error and display appropriate message on screen.
Published at DZone with permission of Ketan Parmar, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Trending
-
How To Design Reliable IIoT Architecture
-
Boosting Application Performance With MicroStream and Redis Integration
-
Five Java Books Beginners and Professionals Should Read
-
Building and Deploying Microservices With Spring Boot and Docker
Comments