안드로이드 개발 질문/답변
(글 수 45,052)
현재 C2DM 서버를 통해 푸시 알림을 지원하는 어플을 배포한 상태입니다.
푸시 알림 모두 정상적으로 전송되는 상태인데
안드로이드 마켓 계정이 로그아웃 된 상태일 때
푸시 알림을 받지 못하는 것을 확인 했습니다.
확인 해 보니 C2DM에서 푸시 알림을 받으려면 단말기가 구글 계정에 로그인 되어 있어야 한다고 하는데
지금까지 확인 한 바로는
우선
1. 카카오톡이나 마이피플은 마켓 로그인 하지 않은 상태에서 푸시 알림을 정상적으로 받았습니다.
-> 카카오톡은 SKT에서 푸시 서버를 개설해 줬다는 기사를 봤는데,
마이피플의 푸시 방법에 대한 정보는 찾지 못했습니다.
2. 카카오톡의 경우 다른 통신사에서도 푸시 서버를 개설해줬다는 정보는 아직 찾지 못했는데
이 역시 푸시 알림이 오더라구요.
3. 본인이 배포한 어플의 경우 처음에 SKT 단말기(갤럭시S2)에서 마켓 로그아웃 된 상황에서는
푸시 알림을 받지 못하였고, 마켓 로그인을 하고 나서는 푸시 알림을 성공적으로 받았습니다.
하지만 KT 단말기(갤럭시 넥서스)에서는 구글 계정을 모두 삭제한 상태에서(어플도 apk파일로 새로 설치)
푸시 알림을 받았습니다.
이것이 어플의 문제인지 단말기의 문제인지 통신사의 문제인지 C2DM의 문제인지
아직 초짜 개발자로써는 머리가 터져버릴것 같습니다ㅠㅠ
테스트를 더 해야한다면 어떤 상황을 테스트 해봐야 하는지 알려주시고
카카오톡이나 마이피플 등 푸시 알림을 이용하는 어플들의 경우 어떻게 푸시 알림을 하는지 아시는 분
부탁드립니다ㅠㅠ
잘은 모르지만, 마이피플이나 카카오톡, 네이버의 라인 등은 자체적으로 푸시를 위한 어플리케이션 서버를 구축하지 않았을까요? 프로토콜은 일반적으로 알려진 MQTT 나 XMPP 등을 쓸 수는 있지만, 어플리케이션 서버는 자체구축해서 쓰지않을까 싶네요. 그렇기 때문에, 구글의 계정등은 굳이 필요하지 않겠지요. 쓸수는 있겠지만, 그게 있어야 푸시가 되는 경우는 아닐겁니다. 그리고, C2DM 을 쓰는 경우는 구글의 C2DM 자체가 단말에 설치된 마켓 어플을 이용하는 것으로 알고 있습니다. 제약조건에 보면, 마켓 앱이 설치되어 있어야 한다고 되어있죠. 당연히 로그인이 되어있어야 할겁니다. 하지만, MQTT, XMPP 등의 프로토콜을 이용한 WAS 를 구축하고(상용을 이용하던, 자체구축하던) 그에 맞게 앱내에 서비스를 구현해서 심으시면, 서비스가 종료되지 않는 이상, 로그인과 관계없이 푸시를 받을 수 있게 되는걸로 압니다.