서버에서 해당기기로 푸시한 결과 메시지를 확인해보세요.
그 결과에 따라 처리해야 됩니다.
그리고, 앱으로 전송할 메시지를 바로 보내지 마시고, 앱으로는 새 메시지가 있다는 정보만 보내고, 앱에서 그 메시지 받고, 받지 못한 전체 메시지를 수신하는 방식으로 하는 게 좋습니다.
앱이 정상 등록되었는데도 서버에서 푸시 발송하면 간혹 mismatched sender id라는 에러가 발생하는 경우가 종종 있더군요.. 전 이럴 경우 푸시 토큰을 다시 발급 받도록 처리하니 문제가 없었습니다.. 이런 상황을 알아낼려면 주기적으로 서버에 접속해서 푸시 토큰을 다시 발급받아야 되는지 검사해야 됩니다. 전 10분에 한 번씩 새 푸시가 있는지.. 토큰을 다시 발급 받아야 되는지 한꺼번에 검사하게 해두었네요..
결국 GCM과 10분에 한번씩 검사를 병행 처리한 것이죠..
이렇게 처리하고 나서는 거의 완벽하게 해결되었습니다.