Android SDK 2.3.0
Ariana.luna (Talk | contribs) (→Logout) |
|||
Line 8: | Line 8: | ||
import com.coffeebeantech.socialidsdk.SocialId; | import com.coffeebeantech.socialidsdk.SocialId; | ||
− | |||
− | |||
Add the following code to the end of the onCreate() method: | Add the following code to the end of the onCreate() method: | ||
− | + | SocialId.configLogin(this, new LoginEventListenerImpl(this)); | |
− | 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); | ||
+ | |||
+ | Additional configuration for each provider can also be given as the example below: | ||
+ | |||
+ | import com.coffeebeantech.socialidsdk.sociallogin.providers.FacebookConfiguration; | ||
+ | |||
+ | FacebookConfiguration facebookConfiguration = new FacebookConfiguration() | ||
+ | .setPermissions(Arrays.asList("public_profile", "user_birthday", "email", "user_location")); | ||
+ | SocialId.configLoginProvider(facebookConfiguration); | ||
Add the following code to the end of the onActivityResult() method: | Add the following code to the end of the onActivityResult() method: | ||
Line 25: | Line 36: | ||
Call the following code to make the user log in: | Call the following code to make the user log in: | ||
+ | import com.coffeebeantech.socialidsdk.exceptions.SocialIdException; | ||
+ | import com.coffeebeantech.socialidsdk.util.Provider; | ||
+ | |||
try { | try { | ||
SocialId.initLogin(Provider.FACEBOOK); // you can change FACEBOOK to LINKEDIN, TWITTER or GPLUS | SocialId.initLogin(Provider.FACEBOOK); // you can change FACEBOOK to LINKEDIN, TWITTER or GPLUS | ||
− | } catch ( | + | } catch (SocialIdException e) { |
e.printStackTrace(); | e.printStackTrace(); | ||
} | } | ||
Line 33: | Line 47: | ||
Finally, create a LoginEventListenerImpl class using this example: | Finally, create a LoginEventListenerImpl class using this example: | ||
− | |||
− | |||
− | |||
− | |||
import com.coffeebeantech.socialidapi.models.marketing.login.User; | import com.coffeebeantech.socialidapi.models.marketing.login.User; | ||
− | import com.coffeebeantech.socialidsdk.exceptions. | + | import com.coffeebeantech.socialidsdk.exceptions.SocialIdException; |
import com.coffeebeantech.socialidsdk.sociallogin.LoginEventListener; | import com.coffeebeantech.socialidsdk.sociallogin.LoginEventListener; | ||
import com.coffeebeantech.socialidsdk.util.Provider; | import com.coffeebeantech.socialidsdk.util.Provider; | ||
+ | |||
public class LoginEventListenerImpl implements LoginEventListener { | public class LoginEventListenerImpl implements LoginEventListener { | ||
+ | |||
private Activity mActivity; | private Activity mActivity; | ||
− | + | ||
public LoginEventListenerImpl(Activity activity) { | public LoginEventListenerImpl(Activity activity) { | ||
this.mActivity = activity; | this.mActivity = activity; | ||
} | } | ||
+ | |||
@Override | @Override | ||
public void onBack() { | public void onBack() { | ||
− | + | // onBack code | |
} | } | ||
+ | |||
@Override | @Override | ||
public void onCancel() { | public void onCancel() { | ||
− | + | // onCancel code | |
} | } | ||
+ | |||
@Override | @Override | ||
− | public void onComplete(Provider provider, User | + | public void onComplete(Provider provider, User user) { |
− | + | // onComplete code | |
− | + | // PersonProfile personProfile = user.getProfile(); | |
} | } | ||
+ | |||
@Override | @Override | ||
− | public void onError( | + | public void onError(SocialIdException e) { |
− | + | // onError code | |
e.printStackTrace(); | e.printStackTrace(); | ||
} | } | ||
+ | |||
@Override | @Override | ||
public void onPreExecute() { | public void onPreExecute() { | ||
− | + | // onPreExecute code | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
} | } | ||
+ | |||
@Override | @Override | ||
public void onPostExecute() { | public void onPostExecute() { | ||
− | + | // onPostExecute code | |
− | + | ||
} | } | ||
} | } | ||
Line 85: | Line 97: | ||
Use the following code to log out a user: | Use the following code to log out a user: | ||
+ | import com.coffeebeantech.socialidsdk.SocialId; | ||
+ | |||
SocialId.logoutUser(); | SocialId.logoutUser(); | ||
− | = Get the user | + | = 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.database.PersonProfile; | ||
import com.coffeebeantech.socialidapi.models.marketing.login.User; | import com.coffeebeantech.socialidapi.models.marketing.login.User; | ||
import com.coffeebeantech.socialidsdk.SocialId; | 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: | |
− | User | + | import com.coffeebeantech.socialidapi.models.marketing.login.User; |
− | + | import com.coffeebeantech.socialidsdk.SocialId; | |
− | PersonProfile personProfile = | + | 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 | ||
+ | } | ||
+ | }); | ||
} | } |
Revision as of 19:11, 17 September 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;
Add the following code to the end of the onCreate() method:
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);
Additional configuration for each provider can also be given as the example below:
import com.coffeebeantech.socialidsdk.sociallogin.providers.FacebookConfiguration; FacebookConfiguration facebookConfiguration = new FacebookConfiguration() .setPermissions(Arrays.asList("public_profile", "user_birthday", "email", "user_location")); SocialId.configLoginProvider(facebookConfiguration);
Add the following code to the end of the onActivityResult() method:
SocialId.onActivityResult(this, requestCode, resultCode, data);
Call the following code to make the user log in:
import com.coffeebeantech.socialidsdk.exceptions.SocialIdException; import com.coffeebeantech.socialidsdk.util.Provider; try { SocialId.initLogin(Provider.FACEBOOK); // you can change FACEBOOK to LINKEDIN, TWITTER or GPLUS } catch (SocialIdException e) { e.printStackTrace(); }
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 } }); }