Android SDK 2.3.0

(Difference between revisions)
Jump to: navigation, search
(Social Login)
(Social Login)
Line 9: Line 9:
 
   import com.coffeebeantech.socialidsdk.SocialId;
 
   import com.coffeebeantech.socialidsdk.SocialId;
  
Configure all providers you'll support. This can be performed in your's activity ''onCreate'' method.
+
Configure all providers you'll support. This can be performed in your activity's ''onCreate'' method.
  
 
   import com.coffeebeantech.socialidsdk.sociallogin.providers.FacebookConfiguration;
 
   import com.coffeebeantech.socialidsdk.sociallogin.providers.FacebookConfiguration;

Revision as of 22:04, 15 October 2015

Contents

Download and Setup the SDK

You can download and setup the SDK using our Android SDK Setup guide.

Social Login

Add the following statements to your Activity:

 import com.coffeebeantech.socialidsdk.SocialId;

Configure all providers you'll support. This can be performed in your activity's onCreate method.

 import com.coffeebeantech.socialidsdk.sociallogin.providers.FacebookConfiguration;
 import com.coffeebeantech.socialidsdk.sociallogin.providers.GplusConfiguration;
 import com.coffeebeantech.socialidsdk.sociallogin.providers.LinkedinConfiguration;
 import com.coffeebeantech.socialidsdk.sociallogin.providers.TwitterConfiguration;
 
 // Facebook configuration
 FacebookConfiguration facebookConfiguration = new FacebookConfiguration()
   .setPermissions(Arrays.asList("public_profile", "user_birthday", "email", "user_location"));
 
 // Google+ configuration
 GplusConfiguration gplusConfiguration = new GplusConfiguration();
 
 // LinkedIn configuration
 LinkedinConfiguration linkedinConfiguration = new LinkedinConfiguration();
 
 // Twitter configuration
 TwitterConfiguration twitterConfiguration = new TwitterConfiguration()
   .setTwitterKey(TWITTER_KEY)
   .setTwitterSecret(TWITTER_SECRET);
 
 SocialId.configLoginProviders(facebookConfiguration, gplusConfiguration, linkedinConfiguration, twitterConfiguration);

After provider configuration, add the following code to finish the login configuration:

 SocialId.configLogin(this, new LoginEventListenerImpl(this));

If you want to pass additional configuration, such as the default user profile fields to get from the Social Id platform, you can use the following code instead. See Social Profile Fields for the available profile fields.

 import com.coffeebeantech.socialidsdk.sociallogin.SocialLoginConfiguration;
 
 SocialLoginConfiguration socialLoginConfiguration = new SocialLoginConfiguration().
   setUserFields(Arrays.asList("display_name", "picture_url", "current_location", "verified_email", "gender"));
 
 SocialId.configLogin(this, new LoginEventListenerImpl(this), socialLoginConfiguration);

Add the following code to the end of the onActivityResult() method:

 SocialId.onActivityResult(requestCode, resultCode, data);

Call the following code to start the login process:

 import com.coffeebeantech.socialidsdk.exceptions.SocialIdException;
 import com.coffeebeantech.socialidsdk.util.Provider;
 
 SocialId.initLogin(Provider.FACEBOOK); // you can change FACEBOOK to LINKEDIN, TWITTER or GPLUS

Finally, create a LoginEventListenerImpl class using this example:

 import com.coffeebeantech.socialidapi.models.marketing.login.User;
 import com.coffeebeantech.socialidsdk.exceptions.SocialIdException;
 import com.coffeebeantech.socialidsdk.sociallogin.LoginEventListener;
 import com.coffeebeantech.socialidsdk.util.Provider;
 
 public class LoginEventListenerImpl implements LoginEventListener {
 
   private Activity mActivity;
 
   public LoginEventListenerImpl(Activity activity) {
     this.mActivity = activity;
   }
 
   @Override
   public void onBack() {
     // onBack code
   }
 
   @Override
   public void onCancel() {
     // onCancel code
   }
 
   @Override
   public void onComplete(Provider provider, User user) {
     // onComplete code
     // PersonProfile personProfile = user.getProfile();
   }
 
   @Override
   public void onError(SocialIdException e) {
     // onError code
     e.printStackTrace();
   }
 
   @Override
   public void onPreExecute() {
     // onPreExecute code
   }
 
   @Override
   public void onPostExecute() {
     // onPostExecute code
   }
 }

Logout

Use the following code to log out a user:

 import com.coffeebeantech.socialidsdk.SocialId;
 
 SocialId.logoutUser();

Get the logged user

Use the following code to get the current logged used in cache:

 import com.coffeebeantech.socialidapi.models.marketing.database.PersonProfile;
 import com.coffeebeantech.socialidapi.models.marketing.login.User;
 import com.coffeebeantech.socialidsdk.SocialId;
 
 User user = SocialId.getCurrentUser();
 PersonProfile personProfile = user.getProfile();
 // you can now call personProfile.getDisplayName(), personProfile.getPictureUrl() and other methods to get profile data

If you want a refreshed user from the Social Id platform, you can use the following code instead:

 import com.coffeebeantech.socialidapi.models.marketing.login.User;
 import com.coffeebeantech.socialidsdk.SocialId;
 import com.coffeebeantech.socialidsdk.exceptions.SocialIdException;
 import com.coffeebeantech.socialidsdk.util.SocialIdCallback;
 
 SocialId.getCurrentUser(new SocialIdCallback<User>() {
   @Override
   public void onSuccess(User user) {
     // PersonProfile personProfile = user.getProfile();
   }
 
   @Override
   public void onError(SocialIdException e) {
     e.printStackTrace();
   }
 });

User Push Notifications

In order to send push notifications directly to a specific user, you can link his device with his account. You can make this process whenever you want after the user logs in:

 import com.coffeebeantech.socialidsdk.SocialId;
 import com.coffeebeantech.socialidsdk.exceptions.SocialIdException;
 import com.coffeebeantech.socialidsdk.util.SocialIdCallback;
 
 if(SocialId.getDeviceId() != null && !SocialId.getDeviceId().isEmpty()) {
   SocialId.linkDeviceToUser(new SocialIdCallback<Void>() {
     @Override
     public void onSuccess(Void v) {
       // onSuccess code
     }
 
     @Override
     public void onError(SocialIdException e) {
       // onError code
     }
   });
 }
Personal tools
Namespaces
Variants
Actions
Navigation
Toolbox