게임 저장 관련 코루틴 실행 관련 질의

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 : SDK 5.11.0 이상
  • 프로젝트명 : Blocks-Tap2Bit
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요

게임 정보 저장 관련하여 호출 비용 및 효율성 등 이슈들을 관련 여러 게시글들과 답변을 통해 확인하고, 매번 즉시 저장하는 것보다는 주기적으로 저장하는 것으로 방향을 잡고 구현을 하고 있습니다.

코루틴을 이용해서 주기적으로 (예: 매 20분 혹은 10분) 저장을 하게 끔 했는데요. 에러코드나 에러메시지는 없지만 아래와 같이 저장이 안되는 현상이 있습니다.

  1. 게임이 실제 화면에서 돌아가는 동안 (정확한 단어 표현을 몰라서, activated? 혹은 foreground)
    코루틴 설계대로 주기적으로 게임 정보를 저장합니다.

  2. 게임을 홈버튼이나 백버튼을 이용해서 뒤로 물리고 (deactivated? 혹은 background), 다른 앱을 띄워
    전면에서 사용하고 있으면, 코루틴이 동작을 하지 않는 것 같습니다.
    (게임 정보 저장이 되지 않고 있습니다.)

  3. iOS 버전은 아직 빌드 전인데 해당 이슈가 OS에 따라서도 달라질 수 있는지도 궁금합니다.

개발 초보라서 —;; 해당 상황이 어떻게 발생하고 있는지 잘 몰라서… 확인 및 가이드를 좀 부탁 드립니다.

감사합니다.

안녕하세요 개발자님,

백그라운드로 앱을 장시간 내린 후 복귀하는 경우,
메인쓰레드가 작동하지 않아 시간이 멈추게 되니 당연히 백그라운드 상태에서는 코루틴이 동작하지 않게됩니다.
예를들어 10분 주기 저장일때 4분 플레이후 백그라운드로 내렸을 경우, 코루틴에 따라 '다시 복귀’한 시점부터 6분 후 저장이 이루어지게 되는 점 참고 부탁드립니다.

답변 감사 드립니다.

말씀 주신 "장시간"의 정의가 좀 애매하기는 한데요… 테스트를 위해 1분 단위로 자동 저장 시키고, 2분 여를 백그라운드로 내려도 그동안 코루틴은 동작하지 않아 저장이 되지 않는 것 같아서요.

백그라운드 체류 시간과 상관없이, 앱이 백그라운드로 내려가면 일단 코루틴은 동작하지 않고, 다시 복귀한 시점부터 시간 카운팅 되면서 저장이 이루어진다고 이해하면 될까요?

그리고 앱이 백그라운드로 내린 상태에서도 저장을 진행할 수 있는 방법이 있을까요?

답변 미리 감사 드립니다.

장시간 표현으로 혼동드려 죄송합니다.
백그라운드 전환 시점부터 작동이 멈춘다고 봐주시면 되고
유니티는 모바일의 경우 백그라운드 실행을 지원하고 있지 않기에 이점 참고하여서 이용해 주시면 감사하겠습니다.

잘 알겠습니다. 이해했습니다. 사용자들한테 잘 안내를 해야겠네요

답변 감사합니다.