UserApiClient

class UserApiClient(userApi: UserApi = ApiFactory.kapiWithOAuth.create(UserApi::class.java), userApiNoLog: UserApi = ApiFactory.kapiWithOAuthNoLog.create(UserApi::class.java), tokenManagerProvider: TokenManagerProvider = TokenManagerProvider.instance)

카카오 로그인 API 클라이언트
Client for the Kakao Login APIs

Constructors

Link copied to clipboard
constructor(userApi: UserApi = ApiFactory.kapiWithOAuth.create(UserApi::class.java), userApiNoLog: UserApi = ApiFactory.kapiWithOAuthNoLog.create(UserApi::class.java), tokenManagerProvider: TokenManagerProvider = TokenManagerProvider.instance)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
fun accessTokenInfo(callback: (tokenInfo: AccessTokenInfo?, error: Throwable?) -> Unit)

액세스 토큰 정보 조회
Access token information

Link copied to clipboard
@JvmOverloads
fun UserApiClient.ageAuthInfo(ageLimit: Int? = null, propertyKeys: List<String>? = null, ageCriteria: AgeCriteria? = null, callback: (info: AgeAuthInfo?, error: Throwable?) -> Unit)

연령인증 정보 조회
Check age verification information

Link copied to clipboard
fun UserApiClient.createShippingAddress(context: Context, callback: (addressId: Long?, error: Throwable?) -> Unit)

배송지 추가
Add Shipping address

Link copied to clipboard
fun UserApiClient.getTalkUsers(activity: Activity, callback: (users: List<TalkUser>?, error: Throwable?) -> Unit)

AccountManager에 등록된 계정의 사용자 정보 조회(id, 이메일, 닉네임, 프로필 이미지, 통합 약관 동의 여부)
Retrieves information of accounts registered in AccountManager (ID, email, nickname, profile image, wheter the user has agreed to Kakao Comprehensive Terms of Service)

Link copied to clipboard
fun isKakaoTalkLoginAvailable(context: Context): Boolean

카카오톡으로 로그인 가능 여부 확인
Checks whether the Login with Kakao Talk API is available

Link copied to clipboard
fun UserApiClient.isSsoAvailable(context: Context): Boolean

SSO 기능 사용 가능 여부, 사용자의 카카오톡 로그인 여부와 무관
Whether SSO feature is available, regardless of user's Kakao Talk login.

Link copied to clipboard
fun loginWithKakao(context: Context, uiMode: LoginUiMode = LoginUiMode.AUTO, accountParams: AccountLoginParams? = null, nonce: String? = null, channelPublicIds: List<String>? = null, serviceTerms: List<String>? = null, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

카카오톡으로 로그인과 카카오계정으로 로그인 중 하나를 선택할 수 있는 화면 제공
Provides a screen where users can choose between logging in with Kakao Talk or Kakao Account.

Link copied to clipboard
@JvmOverloads
fun loginWithKakaoAccount(context: Context, prompts: List<Prompt>? = null, loginHint: String? = null, nonce: String? = null, channelPublicIds: List<String>? = null, serviceTerms: List<String>? = null, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

카카오계정으로 로그인
Login with Kakao Account

Link copied to clipboard
@JvmOverloads
fun UserApiClient.loginWithKakaoAccount(context: Context, prompts: List<Prompt>? = null, loginHint: String? = null, nonce: String? = null, channelPublicIds: List<String>? = null, serviceTerms: List<String>? = null, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

카카오계정으로 로그인
Login with Kakao Account

Link copied to clipboard
@JvmOverloads
fun loginWithKakaoTalk(context: Context, requestCode: Int = AuthCodeClient.DEFAULT_REQUEST_CODE, nonce: String? = null, channelPublicIds: List<String>? = null, serviceTerms: List<String>? = null, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

카카오톡으로 로그인
Login with Kakao Talk

Link copied to clipboard
fun loginWithNewScopes(context: Context, scopes: List<String>, nonce: String? = null, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

동의항목 추가 동의 요청
Request additional consent

Link copied to clipboard
fun logout(callback: (error: Throwable?) -> Unit)

로그아웃
Logout

Link copied to clipboard
@JvmOverloads
fun me(properties: List<String>? = null, secureResource: Boolean = true, callback: (user: User?, error: Throwable?) -> Unit)

사용자 정보 조회
Retrieve user information

Link copied to clipboard
@JvmOverloads
fun UserApiClient.meForPartner(propertyKeys: List<String>? = null, secureReSource: Boolean = true, callback: (user: PartnerUser?, error: Throwable?) -> Unit)

사용자 정보 조회
Retrieve user information

Link copied to clipboard
fun revokeScopes(scopes: List<String>, callback: (scopeInfo: ScopeInfo?, error: Throwable?) -> Unit)

동의항목 동의 철회
Revoke consent

Link copied to clipboard
fun revokeServiceTerms(tags: List<String>, callback: (userRevokedServiceTerms: UserRevokedServiceTerms?, error: Throwable?) -> Unit)

서비스 약관 동의 철회
Revoke consent for service terms

Link copied to clipboard
fun scopes(scopes: List<String>? = null, callback: (scopeInfo: ScopeInfo?, error: Throwable?) -> Unit)

동의항목 동의 내역 조회
Retrieve consent details

Link copied to clipboard
fun selectShippingAddress(context: Context, callback: (addressId: Long?, error: Throwable?) -> Unit)

배송지 선택
Select shipping address

Link copied to clipboard
fun serviceTerms(tags: List<String>? = null, result: String? = null, callback: (userServiceTerms: UserServiceTerms?, error: Throwable?) -> Unit)

서비스 약관 동의 내역 조회
Retrieve consent details for service terms

Link copied to clipboard
fun shippingAddresses(addressId: Long, callback: (userShippingAddresses: UserShippingAddresses?, error: Throwable?) -> Unit)
@JvmOverloads
fun shippingAddresses(fromUpdatedAt: Date? = null, pageSize: Int? = null, callback: (userShippingAddresses: UserShippingAddresses?, error: Throwable?) -> Unit)

배송지 조회
Retrieve shipping address

Link copied to clipboard
fun signup(properties: Map<String, String>? = null, callback: (error: Throwable?) -> Unit)

수동 연결
Manual signup

Link copied to clipboard
@JvmOverloads
fun UserApiClient.signupForPartner(properties: Map<String, String>? = null, callback: (error: Throwable?) -> Unit)

수동 연결
Manual signup

Link copied to clipboard
fun UserApiClient.sso(activity: Activity, id: String, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

커스텀 SSO 인증
Custom SSO authentication

fun UserApiClient.sso(activity: Activity, type: SsoLoginType, useUnifiedTerms: Boolean = false, callback: (token: OAuthToken?, error: Throwable?) -> Unit)

SSO 인증
SSO authentication

Link copied to clipboard
fun unlink(callback: (error: Throwable?) -> Unit)

연결 해제
Unlink

Link copied to clipboard
fun updateProfile(properties: Map<String, String>, callback: (error: Throwable?) -> Unit)

사용자 프로퍼티 저장
Store user properties

Link copied to clipboard
fun UserApiClient.updateShippingAddress(context: Context, addressId: Long, callback: (addressId: Long?, error: Throwable?) -> Unit)

배송지 수정
Update Shipping address

Link copied to clipboard
@JvmOverloads
fun UserApiClient.upgradeScopes(scopes: List<String>, guardianToken: String? = null, callback: (info: ScopeInfo?, error: Throwable?) -> Unit)

동의항목 동의 처리
Upgrade scopes

Link copied to clipboard
fun UserApiClient.verifyAge(context: Context, ageLimit: Int? = null, authLevel: AgeAuthLevel? = null, skipTerms: Boolean? = null, adultsOnly: Boolean? = null, underAge: Boolean? = false, callback: (error: Throwable?) -> Unit)

연령인증 페이지 호출
Request age verification