안드로이드 Push 서비스를 사용할 때 특정 폰에서만 푸시가 동작하지 않는다면?

Posted by Everyharu
2017. 2. 16. 13:36 IT/Android

Ionic 을 통해 Push 서비스를 이용하다 보면 다른 폰들에서는 다 이상이 없는데

갑자기 어떤 한두개의 폰에서만 푸시가 안되는 문제가 생기는 경우가 있다.

이는 안드로이드도 마찬가지로 GCM을 사용할 때 발생할 수 있는 문제이다.

https://groups.google.com/forum/#!topic/cerberus-support-forum/eJxOsYqkTxo

FCM 에서도 문제가 발생하는지는 모르겠지만 아마 발생할것으로 생각된다.



정확하게 말하자면 Push 의 Token 을 받아오지 못하는 경우가 있다.


이 경우 Android DDMS 를 통해 확인을 해보면 다음과 같은 에러가 나오는것을 확인할 수 있다.



PushPlugin    Got JSON Exception PHONE_REGISTRATION_ERROR


이 말인 즉슨 Token 을 생성하는데 에러가 발생하기에 생성하지 못한다는 것이다.

이는 당신이 앱 코딩을 잘못해서 그런것이 아니다.


이는 해당 폰이 구글 계정이 정확하게 연결되지 않아서 생기는 문제이다.

아마 그 폰은 사용자가 바뀌었는데 포맷하지 않고 계정을 다시 등록하는 과정에서 뭔가 꼬였거나

이미 구형폰이라 제대로 사용하지 않다가 테스트하려고 꺼냈을 폰일 가능성이 높다.





이에 대한 해결책은 다음과 같다.


1. 설정 -> 어플리케이션 -> 어플리케이션 관리 -> 전체

2. 구글 플레이 서비스 (Google Play Service) 와 구글 서비스 프레임워크 (Google Service Framework) 에서 "데이터 삭제" 를 해준다.

3. 연동된 구글 계정을 모두 연동 해지해준다.

4. 폰을 재부팅한다.

5. 연동에 구글 계정을 다시 추가해 준다.



모두 잘 해결되셨으면 좋겠습니다.