제가 알고 싶은 것은 개념입니다.
C2DM을 이용하면 서버에서 핸드폰으로 알림 등의 요청을 할 수 있다고 하는 것 같더라구요.
그런데 서버가 불안하다는 것 등의 문제가 있다고 하더라구요.
현재 상용화된 메신저나 알림 등의 어플은 C2DM을 사용한 것인가요? 카카오톡 같은 것도 C2DM을 사용하는 것인가요?
혹시 이 부분에 대해 잘 아시는 분은 저에게 가르침을 주세요 ~~
c2dm은 전 별로더군요....
mqtt랑 c2dm을 번갈아가며 써보니 확실히 mqtt가 빠르고 안정적입니다.
버전 호환성 면에서도 뛰어나구요.
하지만 대부분은 c2dm을 사용합니다.
그 이유는 제생각이지만
구현이 비교적 편리합니다. mqtt의 경우에는 따로 세팅해줘야 하는것들이 존재하며
안드로이드에서 사용할 수 있는 서비스를 오픈소스로 제공하지만
안정성을 위해 어느 정도의 커스터마이징을 할 필요가 보이더군요.
호환성의 문제도 2.1은 거의 사라져가는 추세라 잘 신경쓰지 않더군요.
c2dm의 안정성도 시간이 지나면 점점 나아질 테고요...
답변 감사드립니다.
c2dm이 구현은 간단한데 문제점은 확실히 있고, mqtt는 설정을 추가로 해주어야하지만 c2dm 보다 안정적이고 빠른가보네요.
자체 푸시를 구현하기 위해서는 어떤것들을 알아야하나요?
개발자 정보의 c2dm을 보았는데 실제적인 푸시는 구글 서버에게 맡기는 것 같더라구요.
그렇다면 안드로이드 OS 핸드폰에서는 수시로 구글 서버에게 request를 해서 변화가 있는지 확인하는 것인가요?
아니면 서버단에서 단말기 쪽에게 무언가 전달하는 것과 그것을 수신할 수 있도록 제공되는 클래스가 따로 있는가요?
현재 제가 생각할 수 있는 방식은 핸드폰에서 어플이 백그라운드에서 수시로 서버에 확인하여 메시지가 있는지 없는지 확인하는 방법밖에 없네요.
글을 잘 못써서 요약 해볼게요.
구글 c2dm을 위한 서버는 어떻게 핸드폰으로 푸시를 주는지와
자체 푸시를 제작하기 위해서 따로 제공되는 클래스가 서비스 클래스 말고 다른게 있는지 정도네요^^;;
백그라운드에서 수시로 서버로 체킹하는게 아니라..
c2dm은 서비스라는 클래스를 이용하여 푸시 메시지를 기다리고 있다가 수신이 되면 해당 메시지를 처리하는 것입니다.
다시 말해서 수시로 서버로 체킹을 위한 메시지를 보내는 방식(폴링)이 아니라는거죠.
예전에 카톡이 이 방식을 이용해서(지금은 아마 바뀐걸로 알고 있습니다 ㅎ)
skt 등에 망부하를 일으킨다고.. 기사가 나고 그랬죠;
푸시 방식은 디바이스는 그냥 가만히 있고 서버단에서 메시지를 디바이스로 던져주면
디바이스가 받아서 처리하는 것으로 알고 있습니다.
c2dm의 프로세스는 다음 링크를 참조하세요. 간략하게 설명되어 있습니다.
http://www.cyworld.com/gurispace/3211763
자체 푸시 서비스는 잘 모르겠습니다 ^^;




대부분이 자체 푸시를 이용하며 그를 구현하기 위해 별도의 서비스를 띄웁니다..
제가 아는건 여기까지..