노무현 전 대통령 서거 추모글 남기기

아이폰과 같은 Push notification 기능은 없나요?

http://www.androidpub.com/113531

아이폰에서는 Push Notification Service를 제공한다. 이 서비스는 애플이 운영하는 전용 서버를 통해 제공되며, Push 기능이 필요한 어플리케이션들의  3'rd party 서버들은  PNS가 제공하는 API를 통해서  이 서비스를 이용할 수 있다.

iPhone 은 PNS로 부터 메시지를 수신하기 위해 하나의 공통 IP연결을 유지하고 있다가, PNS로부터 메시지를 받으면 그 메시지를 받아야 할 해당 어플리케이션을 깨워서 전달해준다.

iPhone과 같은 모바일 단말에서 소프트웨어를 개발할 때 고려해야할 아주 중요한 두 가지 요소는 바로 성능과 배터리 소모이다. 그런데 AppStore를 통해서 누구가 개발해서 배포할 수 있는 환경에서 IM이나 이메일 클라이언트와 같은 종류의 어플리케이션들이 기존과 같은 방식으로 동작한다면(즉, 제각기 자신의 서버와 connection을 유지하면서 백그라운드로 수행된다면) CPU 점유와 배터리 소모가 불가피하게 많아질 것이다. 이것은 매우 나쁜 상황이다. 따라서 애플은 PNS 서비스를 제공하여 사용자들이 쉽게 서버의 Push기능을 개발할 수 있게 하면서도 단말의 CPU 리소스와 배터리를 최대한 절약할 수 있도록 해준다.

Push기능을 사용하는 모든 응용 서비스들이 반드시 애플의 PNS서비스를 사용해야만 한다는 점이다. 이것은 어떤 의미에서 서비스들이 애플의 통제하에 놓이게 되는 것을 의미한다. 모든 Push 또는 Notification 메시지는 애플의 PNS를 거쳐야만 하므로 만약 애플의 PNS서비스에 장애가 발생하면 해당하는 모든 응용 서비스들이 영향을 받게된다.



안드로이드는 이러한 기능이 없었다. 안드로이드에서는 이런 푸쉬 서버가 별도로 존재하지 않기에 각 어플마다 일일이 확인하거나 연결을 지속적으로 유지하면서 연락을 받아야 합니다.

안드로이드에서도 2.2(Froyo) 부터는 비슷한 방식으로 지원을 한다고 한다.
아래는 그에대한 내용이다.


[번역] 안드로이드 Android Cloud to Device Messaging(C2DM) 

Posted by Kelly Cook
,