모바일 환경에 대한 네트워크 질문

1:1 매치 모바일 게임을 만들고 있습니다.

대부분의 정보는 <슈퍼 게이머> 기준으로 내용을 전달하고 있습니다.

OnSessionOffline 을 사용해서 두 유저가 플레이 도중 한 유저가 종료시
TimeScale을 0으로 바꿔 게임을 멈추는 식으로 구상중인데,

문제는 모바일 기기의 <특정한 상태>에 대해 실시간으로 알 수 있는 방법을 알고 싶습니다.
예를 들면 통화, 홈 버튼을 이용한 백그라운드 이동, 재난 문자 등
완전한 종료가 아닌 <일시적인 이탈>에 관해서 입니다.

유닛의 타겟팅, 공격 함수 등등이 슈퍼 게이머 기준으로 돌아가는데
슈퍼 게이머가 홈버튼으로 이탈 시, 나머지 유저는 시간은 흐르지만
게임 자체는 멈춰버리는 상태입니다.

안녕하세요 개발자님

공유해주신 방식인 OnSessionOffline을 이용하여 말씀하신 방식의 구현이 가능합니다.

다만 해당 방식으로는 원하시는 방식, 1:1 게임 중 1명이 이탈한 즉시 다른 유저가 해당 유저의 이탈 유무를 체크할 수는 없습니다.

OnSessionOffline의 경우 서버와 클라이언트가 지속적으로 헬스체크를 수행하지만, 통신 상태 이상, 클라이언트 이슈 등을 고려하여 30초간 헬스체크가 되지 않았을 경우

방에 존재하는 모든 클라이언트에 OnSessionOffline 메시지를 브로드캐스팅 하고 있습니다.

원하시는 특정 유저가 연결이 끊기는 즉시 이를 인지하고 싶으실 경우,

임의의 헬스체크 메시지를 만드신 후

각 클라이언트가 지속적으로 헬스 체크 메시지를 보내고, 30초보다 짧은 시간을 정해

해당 시간동안 상대 클라이언트가 헬스체크 메시지를 송신하지 않을 시 TimeScale을 바꾸는 식으로 로직을 작성하시면

실시간으로 이를 인지하실 수 있으실 것 입니다.

참고부탁드리겠습니다.

임의의 헬스체크 메시지
라는 건 <뒤끝 펑션>을 말씀하시는걸까요?
아니면 최소한의 데이터(bool 형?)를 1초 간격으로 쏘아 체크 하는 식의
<개인적인 방법> 일까요??

최소한의 데이터를 원하시는 간격으로 송신하는 방식을 말씀드리는 것 입니다.

아 그렇군요
답변 감사합니다.