안드로이드 push notification 방법
1. 폴링 ( polling )
- 단말에서 주기적으로 서버에 접속하여 가져갈 메세지가 있는지 확인하여 push event 를 수신할 수 있다.
- 장점 : 구현이 쉽고 비용도 들지 않는다.
- 단점 : 실시간이 아니다. 단말에서 배터리 소모가 발생한다.
- 모두가 polling 은 비추한다.
2. SMS
- 안드로이드는 SMS hooking 이 가능하다. 서버에서 특별한 SMS 를 전송하면 앱에서 hooking 하여 메세지를 띄울 수 있다.
- 장점 : 구현이 쉽다. 실시간이다. 알려진 솔루션이 있다.
- 단점 : 비용이 발생한다.
- betavine 과 vodafone 은 SMS-based push approach.
3. 끊김없는 TCP/IP
- 폰과 서버가 지속적으로 TCP/IP 연결을 유지하며, 주기적으로 keep alive 메세지를 날린다.
- 장점 : 실시간이 보장
- 단점 : 신뢰성을 보장하는 구현이 까다롭다. 안드로이드는 low memory 등의 상황에서 서비스가 종료될 수 있다. 베터리 소모도 많다.
참조 서비스들
Deacon project : open source push notification library ( TCP/IP )
MQTT( MQ Telemetry Transport ) protocol
- publish / subscribe messaging protocol 로 가볍게 설계 ( 저전력 소모 ). MQTT의 단점은 개인의 프라이버시 보장이 약하다. ( 구현방법은 TCP/IP )
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
XMPP ( eXtensible Messaging and Presence Protocol ) (0) | 2012.11.13 |
---|---|
[android] MQTT 이용하여 Push Notification 받기 (0) | 2012.11.13 |
[android] EditText inputType="textPassword" coding 으로 만들기 (2) | 2012.11.12 |
[android] custom attribute format ( type ) (0) | 2012.11.12 |
[android] GCM process diagram (1) | 2012.11.09 |
댓글