페이스북, 네이버, 카카오, 라인, 트위터, 구글 총 6개에 대한 빠른 소셜 로그인 통합 기능을 제공합니다.
각각 서비스마다 공통적인 구조를 가지고 있어 복사 & 붙여넣기 만으로도 쉽게 사용이 가능합니다.
private KakaoLogin kakaoModule;
kakaoModule = new KakaoLogin(this, new OnResponseListener() {
@Override
public void onResult(SocialType socialType, ResultType resultType, Map<UserInfoType, String> map) {
}
});
kakaoModule.onLogin();
kakaoModule.onDestroy();
kakaoModule.onActivityResult(requestCode, resultCode, data);
public enum SocialType { // 소셜 서비스 타입
KAKAO, GOOGLE, FACEBOOK, LINE, NAVER, TWITTER;
}
public enum ResultType { // 성공, 실패, 취소
SUCCESS, FAILURE, CANCEL;
}
public enum UserInfoType { // 유저 정보 필드 (전부 다 나오는 것은 아님)
ID, NAME, ACCESS_TOKEN, EMAIL, NICKNAME, PROFILE_PICTRUE, GENDER;
}
repositories {
maven { url 'http://devrepo.kakao.com:8088/nexus/content/groups/public/' }
}
implementation 'com.kakao.sdk:usermgmt:1.11.1'
<meta-data
android:name="com.kakao.sdk.AppKey"
android:value="<YOUR-API-KEY>"/>
SocialLogin.init(this);
KakaoConfig kakaoConfig = new KakaoConfig.Builder()
.setRequireEmail()
.setRequireNickname()
.build();
SocialLogin.addType(SocialType.KAKAO, kakaoConfig);
private KakaoLogin kakaoModule;
implementation 'com.facebook.android:facebook-android-sdk:4.23.0'
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name" />
<meta-data android:name="com.facebook.sdk.ApplicationId"
android:value=""<YOUR-API-KEY>"/>
SocialLogin.init(this);
FacebookConfig facebookConfig = new FacebookConfig.Builder()
.setApplicationId("<YOUR-API-KEY>")
.setRequireEmail()
.build();
SocialLogin.addType(SocialType.FACEBOOK, facebookConfig);
private FacebookLogin facebookModule;
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
SocialLogin.init(this);
NaverConfig naverConfig = new NaverConfig.Builder()
.setAuthClientId("<YOUR-API-KEY>")
.setAuthClientSecret("<YOUR-API-KEY>")
.setClientName(getString(R.string.app_name))
.build();
SocialLogin.addType(SocialType.NAVER, naverConfig);
private NaverLogin naverModule;
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
SocialLogin.init(this);
LineConfig lineConfig = new LineConfig.Builder()
.setChannelId("<YOUR-API-KEY>")
.build();
SocialLogin.addType(SocialType.LINE, lineConfig);
private LineLogin lineModule;
implementation 'com.twitter.sdk.android:twitter:3.1.0'
SocialLogin.init(this);
TwitterConfig twitterConfig = new TwitterConfig.Builder()
.setConsumerKey("<YOUR-API-KEY>")
.setConsumerSecret("<YOUR-API-KEY>")
.build();
SocialLogin.addType(SocialType.TWITTER, twitterConfig);
private TwitterLogin twitterModule;
Google Sign-in for Android 의 2번 Get a configuration file 를 참조하여 google-services.json 을 모듈 내에 포함시켜야 합니다.
implementation 'com.google.android.gms:play-services-auth:10.2.6'
SocialLogin.init(this);
GoogleConfig googleConfig = new GoogleConfig.Builder()
.setRequireEmail()
.build();
SocialLogin.addType(SocialType.GOOGLE, googleConfig);
private GoogleLogin googleModule;
Copyright 2017 WindSekirun (DongGil, Seo)
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.