안녕하세요.
유저 정보를 여러 테이블에 저장을 하는 경우, (ex. characters, items, pets)
아래의 예시 시나리오에서 어떤 식으로 처리를 하는 것이 좋을지 로직에 대한 질문 드립니다.
그와 관련해서 뒤끝에서 필요한 api 들을 제공하는지도 궁금합니다.
시나리오 A - 매 로그인 시 최신 정보가 맞는지 확인 및 동기화
A-1. 로컬의 정보와 서버의 정보가 동일한지 확인
A-2. 정보가 다른 경우 - 서버의 정보를 강제로 덮어 씌움
- 질문 1. 이러한 시나리오가 정상적인 뒤끝 사용 방법인가요? - (DB 사용량 등)
- 질문 2. A-1 에서 모든 데이터를 받아오지 않고 확인할 방법이 있을까요? (해시 값 등)
시나리오 B. 기기 변경 시 유저 정보 로드
방안 1. 새 기기로 구글 로그인 시 자동으로 서버의 정보를 로드
방안 2. 세이브/로드 버튼을 만들어두고 기기 변경 시 유저가 직접 데이터를 저장하고 로드함
- 질문 3. 시나리오 A의 기능을 만들어두면 방안 1은 원하지 않아도 저절로 이루어질 것 같습니다. 만약 방안 1. 이 부적절하다면 새로 로그인 하는 경우에는 어떻게 데이터 로드를 방지할 수 있을 지 궁금합니다.
- 질문 4. 방안1의 경우 기존 기기와 새로운 기기에서의 정보가 혼재되어 기기를 계속 번갈아 사용 시 데이터가 롤백되는 이슈가 있을 것 같습니다. 이 문제를 해결 가능할까요?
- 질문 5. 방안2의 경우, 선의의 유저는 문제 없겠지만 확률형 아이템을 구매 후 무한으로 롤백을 하는 등의 어뷰징이 발생할 수도 있을 것 같습니다. 이를 어떻게 해결할 수 있을까요?
- 질문 6. 각 장/단점을 고려했을 때 둘 중 어떤 방안이 나을지 아니면 주로 쓰이는 좋은 방안이 있는지 궁금합니다.
감사합니다!