사용자 생성 / 로그인
Hive 톡플러스는 토큰 기반의 로그인을 지원합니다. 토큰 기반 로그인을 사용하려면 AuthV4.getHiveTalkPlusLoginToken()
을 호출하여 토큰을 획득한 후 사용자를 생성 및 로그인할 수 있는 HiveTalkPlus.loginWithToken()
을 호출해야 합니다.
Token User
playerId, login Token, 사용자 닉네임을 사용하여 로그인을 할 수 있습니다.
- userId는
AuthV4.getPlayerInfo()
함수에playerId
를 전달하여 반환됩니다. - loginToken은
AuthV4.getHiveTalkPlusLoginToken()
함수에서 생성합니다.
Unity
1 2 3 4 5 6 7 8 |
// loginToken 은 AuthV4.getHiveTalkPlusLoginToken(); HiveTalkPlusApi.LoginWithToken(userId, loginToken, username, profileImageUrl, metaData, (HiveTalkPlusUser user) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// loginToken 은 AuthV4.getHiveTalkPlusLoginToken() // 이미지 URL 직접 지정 HiveTalkPlus.loginWithToken(userId, loginToken, username, profileImageUrl, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusUser?> { override fun onSuccess(user: HiveTalkPlusUser?) {} override fun onFailure(i: Int, e: Exception?) {} }) // 이미지 파일 업로드 HiveTalkPlus.loginWithToken(userId, loginToken, username, profileImageFile, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusUser?> { override fun onSuccess(user: HiveTalkPlusUser?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
// loginToken 은 AuthV4.getHiveTalkPlusLoginToken(); // 이미지 URL 직접 지정 HiveTalkPlus.login(withToken: loginToken, userId: userId, username: username, profileImageUrl : profileImageUrl , metaData: metaData, success: { user in // SUCCESS }, failure: { errorCode, error in // FAILURE }) // 이미지 파일 업로드 HiveTalkPlus.login(withToken: loginToken, userId: userId, username: username, profileImage: profileImage, metaData: metaData, success: { user in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
사용자 정보 업데이트
사용자 닉네임, Profile Image url을 변경할 수 있습니다.
Unity
1 2 3 4 5 |
HiveTalkPlusApi.UpdateUserProfile(username, profileImageUrl, metaData, (HiveTalkPlusUser user) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 이미지 URL 직접 지정 HiveTalkPlus.updateUserProfile(username, profileImageUrl, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusUser?> { override fun onSuccess(user: HiveTalkPlusUser?) {} override fun onFailure(i: Int, e: Exception?) {} }) // 이미지 파일 업로드 HiveTalkPlus.updateUserProfile(username, profileImageFile, metaData, object : HiveTalkPlus.CallbackListener<HiveTalkPlusUser?> { override fun onSuccess(user: HiveTalkPlusUser?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// 이미지 URL 직접 지정 HiveTalkPlus.updateUserProfile(username, profileImageUrl: profileImageUrl, metaData: metaData, success: { user in // SUCCESS }, failure: { errorCode, error in // FAILURE }) // 이미지 파일 업로드 HiveTalkPlus.updateUserProfile(username, profileImage: profileImage, metaData: metaData, success: { user in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
사용자 차단 목록 관리
1. 차단된 사용자 조회
차단된 사용자를 조회할 수 있습니다. Pagination 처리가 되어 있어 다음 페이지 조회를 위해서는 이전 조회 시에 리턴받은 HiveTalkPlusUser
객체 중 마지막 객체를 넣으면 그 다음 페이지를 조회할 수 있습니다.
Unity
1 2 3 4 5 |
HiveTalkPlusApi.GetBlockedUserList(lastUser, (List<HiveTalkPlusUser> users) => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 |
HiveTalkPlus.getBlockedUserList(lastUser, object : HiveTalkPlus.CallbackListener<List<HiveTalkPlusUser?>?> { override fun onSuccess(users: List<HiveTalkPlusUser?>?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 |
HiveTalkPlus.getBlockedUserList(lastUser, success: { users in // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
2. 사용자 차단 / 차단 해제
사용자를 Block / Unblock 할 수 있습니다.
Unity
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// 차단 HiveTalkPlusApi.BlockUser(targetId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); // 차단 해제 HiveTalkPlusApi.UnblockUser(targetId, () => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 5 6 7 8 9 10 11 12 |
// 차단 HiveTalkPlus.blockUser(userId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) // 차단 해제 HiveTalkPlus.unblockUser(userId, object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 6 7 8 9 10 11 |
HiveTalkPlus.blockUser(targetId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) // 차단 해제 HiveTalkPlus.unblockUser(targetId, success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
다음과 같은 방식으로 동작합니다.
Case | 가능 여부 |
---|---|
내가 블럭한 사용자를 내가 Owner인 channel에 add member가 가능한지 | 불가능 |
내가 블럭한 사용자가 내가 Owner인 channel에 join이 가능한지 | 불가능 |
내가 블럭한 사용자를 내가 Member인 channel에 add member가 가능한지 | 가능 |
내가 블럭한 사용자가 내가 Member인 channel에 join이 가능한지 | 가능 |
내가 블럭한 사용자가 Owner인 channel에 나를 add member할 수 있는지 | 불가능 |
내가 블럭한 사용자가 Owner인 channel에 내가 join할 수 있는지 | 불가능 |
내가 블럭한 사용자가 Member인 channel에 나를 add member할 수 있는지 | 가능 |
내가 블럭한 사용자가 Member인 channel에 내가 join할 수 있는지 | 가능 |
사용자 로그아웃
사용자 세션을 로그아웃 할 수 있습니다. 현재 TalkPlus와 연결된 실시간 연결을 종료합니다.
Unity
1 2 3 4 5 |
HiveTalkPlusApi.Logout(() => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 |
HiveTalkPlus.logout(object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 |
HiveTalkPlus.logout(success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |
사용자 삭제
사용자를 삭제할 수 있습니다. 사용자 삭제와 더불어 현재 Hive 톡플러스와 연결된 실시간 연결을 종료합니다.
Unity
1 2 3 4 5 |
HiveTalkPlusApi.DeleteUser(() => { // SUCCESS }, (int statusCode, Exception e) => { // FAILURE }); |
Android
1 2 3 4 |
HiveTalkPlus.deleteUser(object : HiveTalkPlus.CallbackListener<Unit?> { override fun onSuccess(unit: Unit?) {} override fun onFailure(i: Int, e: Exception?) {} }) |
iOS
1 2 3 4 5 |
HiveTalkPlus.deleteUser(success: { // SUCCESS }, failure: { errorCode, error in // FAILURE }) |