Android SDK 2.3.0
Ariana.luna (Talk | contribs) (→Logout) |
m (moved Android SDK to Android SDK 2.3.0) |
||
(7 intermediate revisions by one user not shown) | |||
Line 8: | Line 8: | ||
import com.coffeebeantech.socialidsdk.SocialId; | 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 | ||
+ | // Extra permissions are optional | ||
+ | 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 | ||
+ | // Key and Secret are mandatory | ||
+ | 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. | + | 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; | |
− | SocialId.initLogin(Provider.FACEBOOK); // you can change FACEBOOK to LINKEDIN, TWITTER or GPLUS | + | |
− | + | 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 Activity's ''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: | 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 111: | ||
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 | ||
+ | } | ||
+ | }); | ||
} | } |
Latest revision as of 21:03, 26 April 2016
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 // Extra permissions are optional 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 // Key and Secret are mandatory 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 Activity's 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 } }); }