해당 강의는 PC환경에 최적화 된 글 입니다.
목록 바로가기
https://cheolmini.tistory.com/53
[뒤끝 파헤치기] #12. 사용자 게임 정보 삭제
뒤끝 파헤치기 열두번째 강의글 입니다.
동기, 비동기식으로 사용자의 게임 정보를 삭제해보겠습니다.
1. 예외 처리 함수
참고만 해주세요
void Error(string errorCode, string type)
{
if (errorCode == "DuplicatedParameterException")
{
if (type == "UserFunc") print("중복된 사용자 아이디 입니다.");
else if (type == "UserNickname") print("중복된 닉네임 입니다.");
}
else if (errorCode == "BadUnauthorizedException")
{
if (type == "UserFunc") print("잘못된 사용자 아이디 혹은 비밀번호 입니다.");
}
else if (errorCode == "UndefinedParameterException")
{
if (type == "UserNickname") print("닉네임을 다시 입력해주세요");
}
else if (errorCode == "BadParameterException")
{
if (type == "UserNickname") print("닉네임 앞/뒤 공백이 있거나 20자 이상입니다.");
else if (type == "UserPW") print("잘못된 이메일입니다.");
else if (type == "gameData") print("잘못된 유형의 테이블 입니다.");
}
else if (errorCode == "NotFoundException")
{
if (type == "UserPW") print("등록된 이메일이 없습니다.");
else if (type == "Coupon") print("중복 사용이거나 기간이 만료된 쿠폰입니다.");
else if (type == "gameData") print("해당 테이블을 찾을 수 없습니다.");
}
else if (errorCode == "Too Many Request")
{
if (type == "UserPW") print("요청 횟수를 초과하였습니다. (1일 5회)");
}
else if (errorCode == "PreconditionFailed")
{
if (type == "gameData") print("해당 테이블은 비활성화 된 테이블 입니다.");
}
else if (errorCode == "ServerErrorException")
{
if (type == "gameData") print("하나의 row이 400KB를 넘습니다");
}
else if(errorCode == "ForbiddenError")
{
if (type == "gameData") print("타인의 정보는 삭제가 불가능합니다.");
}
}
동기 방식
1. 사용자 게임 정보 삭제
지난 강의때와 동일하게 inDate 값이 필요합니다.
그렇기 때문에 먼저 게임 정보를 읽어 온 후 삭제를 진행합니다.
Backend.GameInfo.Delete ( "tableName", inDate );
해당 테이블에서 유저의 정보를 삭제합니다.
public void deleteData()
{
BackendReturnObject BRO = Backend.GameInfo.Delete("character", dataIndate);
if (BRO.IsSuccess()) print("동기 방식 정보 삭제 성공");
else Error(BRO.GetErrorCode(), "gameData");
}
비동기 방식
1. 사용자 게임 정보 삭제
BackendAsyncClass.BackendAsync(Backend.GameInfo.Delete, "tableName", inDate, ( callback ) => { // 이후 처리 });
public void deleteDataAsync()
{
BackendAsyncClass.BackendAsync(Backend.GameInfo.Delete, "character", dataIndate, (callback) =>
{
if (callback.IsSuccess()) print("비동기 방식 정보 삭제 성공");
else Error(callback.GetErrorCode(), "gameData");
});
}
UI 구성하기
버튼 2개를 만들어 주었습니다.
결과
데이터를 삭제 한 후 읽기를 하면 읽어올 데이터가 없기때문에 오류 혹은 무반응 현상을 볼수 있습니다.
참고 글
https://developer.thebackend.io/unity3d/guide/gameData/delete/
뒤끝 개발자
모바일 게임 서버를 쉽게 생성, 관리 할 수 있는 뒤끝의 개발자 사이트입니다.
developer.thebackend.io
모든 프로젝트는 깃 허브에 업데이트 할 예정입니다.
https://github.com/CM-Games/BackEnd
읽어 주셔서 감사합니다.
검색어
뒤끝베이스
뒤끝강좌
뒤끝
뒤끝매치
뒤끝챗
유니티뒤끝
백앤드
유니티백앤드
유니티서버
유니티데이터저장
뒤끝기초
뒤끝서버
'Unity > 뒤끝' 카테고리의 다른 글
[뒤끝 파헤치기] #14. 친구 기능 (0) | 2020.08.05 |
---|---|
[뒤끝 파헤치기] #13. 유저 찾기 (0) | 2020.07.30 |
[뒤끝 파헤치기] #11. 사용자 게임 정보 수정 (1) | 2020.07.28 |
[뒤끝 파헤치기] #10. 사용자 게임 정보 읽기 (3) | 2020.07.27 |
[뒤끝 파헤치기] #09. 사용자 게임 정보 저장 (0) | 2020.07.24 |