Friday, February 11, 2011

Push Notification on iOS & Android

 

  Apple은 Push Notification을 Apple 내부에 별도의 APNS (Apple Push Notification Service) 서버를 이용하는 방식으로 Push App. 개발을 지원함.

  이를 이용한 개발방법은 아래 블로그를 참조

  애플 아이폰 푸시알림 서비스 (APNS, Apple Push Notification Service)

 

  Android는 2.2 (Proyo) 버전부터는 APNS와 유사한 C2DM (Android Cloud to Device Messaging Framework) 서버를 제공함.

이에 대한 자세한 내용은 아래 링크를 참조

  Google Projects for Android: C2DM

  하지만, Android 2.1 이하 버전에는 Push Server가 존재하지 않는데, 아래 통계에서 보듯이 2.2 이하 버전의 점유율이 여전히 42%에 육박함.

           [Current Distribution of Android Platform Versions]

        Data collected during two weeks ending on February 2, 2011

 

  따라서, 2.1이하의 하위 버전에서의 Push Service 구현에 대한 고려가 필요하며, 이를 위한 방안은 아래 링크를 참조함.

  How to Implement Push Notifications for Android

  이를 간략히 요약하면, Polling, SMS Notification, Persistent TCP/IP 방식이 있으며,

  1. Polling은 real-time도 아니고 resource가 많이 필요하다는 문제점이 있고,

  2. SMS Notification은 SMS 발송 비용 문제가 크며,

  3. Persistent TCP/IP는 그나마 나으나, 제대로 구현하기 어렵다는 문제가 있음

  그래서, 위 블로그에서 추천하는 방법은 3번을 제대로 구현한 MQTT를 이용하는 방식임.

  MQTT에 관련된 내용은 아래 링크 참조

  IA92: WBI Brokers - Java implementation of WebSphere MQ Telemetry transport

No comments: