실시간 알림 연결 상태 관련 문의

점검 시 유저 킥 기능을 위해 실시간 알림을 사용하고자 하는데 실시간 알림 기능의 경우 타 API들과 달리 핸들러를 통해서만 결과가 오고 자체 재연결 기능까지 달려있어서 특정 상황에서 어떻게 동작하는지 헷갈려서 문의 드립니다.

Backend.Notification.Connect(); 의 결과가
Backend.Notification.OnAuthorize로 오고
Backend.Notification.DisConnect(); 의 결과는
Backend.Notification.OnDisConnect로 오는 것으로 보입니다.
그외 실시간 알림은 연결 중에만 오는 것으로 보여 실시간 연결이 현재 정상인지 여부가 필요합니다.

  1. 실시간 알림 연결에 자체적으로 재연결 기능이 있는 것으로 보이는데 연결이 끊어졌을 때, 재연결 성공 시에는 어디로 결과가 오나요?
  2. 최종적으로 재연결까지 실패할 경우에는 어디로 결과가 오나요? 그리고 이 경우 다시 Backend.Notification.Connect();를 호출해야하나요?
  3. 연결이 끊어진 상태 및 재연결 중에 온 실시간 알림은 연결 시 다시 오나요? 아니면 그대로 무시되나요?
  4. 게임이 백그라운드 상태에 있을 때 온 알림은 받을 수 있나요?
  5. 앱 종료시 Disconnect를 필수로 호출해야 한다고 적혀있는데 크래시나 백그라운드 상태에서 강제종료 등으로 호출을 못하고 종료되는 불가피한 상황이 있을 수 있는데 Disconnect를 호출하지 못하고 종료했을 경우의 불이익이 있을까요?

백그라운드 및 네트워크 상태에 따른 실시간 알림 연결 상태의 공백에 따라 추가적인 조치를 해야할수도 있어 답변 부탁드립니다. 감사합니다.

안녕하세요 개발자님,
관련 내용 확인하여 안내드릴 수 있도록 하겠습니다.
답변까지 다소 시간이 소요될 수 있는 점 양해 바랍니다.

좋아요 1

문의하신 내용 안내드립니다.

  1. 재연결 성공시 콜백
    OnAuthorize 콜백으로 전달됩니다.

  2. 연결 동작 처리
    최종 재연결 실패 시, 알림을 주는 callback은 없습니다.
    재시도 횟수는 Conneect 호출시 지정 가능하며. 기본값은 1000회로 제공되어 문제가 발생하는 경우는 없을 것으로 예상됩니다.
    최종 재연결 실패 이후에는 다시 Connect를 호출해서 연결해야 합니다.

  3. 끊어진 상태 및 재연결 과정에서 온 실시간 알림
    알림을 받지 못하며 무시됩니다.

  4. 백그라운드 상태에서 복귀하였을 때 알림 처리
    앱으로 복귀하면 그 동안 받았던 알림들이 콜백으로 전달됩니다.

좋아요 1

답변 감사합니다.
3번 상황에 대한 안전장치는 고려해봐야겠네요.

그리고 최종 재연결 실패에 대한 콜백이 없고 말씀대로 1000회라는 수치는 실질적으로 최종 재연결 실패라는 상황은 없다는 가정으로 짜야겠군요.
그런데 혹시 현재 실시간 알림이 연결 중인지 상태를 알 수 있는 방법은 있나요?

그리고 마지막 5번 질문에 대한 답변이 필요합니다.
Disconnect는 모바일 환경 특성 상 호출하지 못하고 종료되는 경우가 흔한데 Disconnect 호출 없이 종료해도 괜찮을까요?

문의 확인 과정에서 수정으로 추가된 질문을 미처 확인하지 못하였습니다. 죄송합니다.

강제종료를 하면 앱이 종료되더라도 네트워크 연결은 남아 있게 됩니다. (타 유저가 실시간 알림 서버 접속 여부 확인 시 접속중으로 표시)
이 경우, 운영체제가 앱이 연결한 네트워크를 즉시 혹은 일정시간 후에 연결을 해제하고 자원을 회수하므로 큰 문제가 발생하지는 않지만 일정 시간은 접속중으로 표시될 수 있습니다.
명시적으로 Disconnect를 호출하면 즉시 연결을 종료하고 리소스 해제가 가능하기에 일반적인 종료 로직(OnApplicationQuit) 내부에 Disconnect를 추가하는 것을 권장드립니다.

추가로 자신의 연결 상태를 확인하는 기능은 제공되지 않고 있습니다.
UserIsConnectByIndate 를 통해 특정 유저(자신포함)의 실시간 알림 서버 접속 상태를 확인할수는 있으나 실시간 알림 서버에 접속중인 상태에서만 정상 작동하는 점 참고 부탁드립니다.

좋아요 1

언제나 친절한 답변에 감사드립니다.
답변해주신 내용 참고하여 진행하도록 하겠습니다!

좋아요 1