안녕하세요- 여러분

지난 6개월간 불철주야 자바와 안드로이드를 공부하면서 어플을 하나 만들어보았고

미비된 기능성을 추가하고 끊임없이 밀려오는 또 다른 이슈를 해결하기 위해서 고심중인 한.. 노청년입니다.


우선 저의 질문은 "Polling,C2DM을 사용치 않고 실시간 공지 서비스 기능 구현이 가능할까? " 입니다.

아직 추상적인 생각에 불과하지만 그 아이디어가 가능할 법한지 개발자 여러분과 의견을 나누어 보고 싶어 질문을 남기게 되었습니다.


제가 개발진행중인 SNS서비스에서는 다른 SNS서비스와 마찬가지로 어플리케이션의 서비스 측면에서

1. 사용자간의 메시지와 그 외의 정보를 실시간으로 알려주기 위해, 

2. 알림을 받는 동시에 어플리케이션 실행이 가능하기 위해,

그리고 자원 관리 측면에서

1. Polling은 고려치 않는다. Polling을 쓰는 장점이 있을 수 있겠지만 만약 하나의 기기에서 10개 혹은 50개의 어플리케이션이 저마다 Polling을 하게 되는 시기가 오면...그 후폭풍은 누가 감당할까 싶습니다. 살포시 format?

2. 서비스는 아주 작은 크기로 메모리와 배터리 관리에 부하를 주지 않는다. 아주 작은 연산만을 수행해야 한다.

등을 고려하다보니 C2DM이 좋아보이기는 하지만 아직 부족함이 많아보이고 SNS서비스 특성상 다양한 기기에서 공지를 받아야 한다면 또 다른 프레임워크에서도 수행되는 서비스가 구현되어야 하다는 생각에서 다음과 같은 생각을 해보았습니다.


이미 안드로이드 기기에서 돌아가고 있는 Google Services Framework(GSF)를 이용하여 실시간 공지와 비슷한 fake notication receiver 구현할 수 있을까?


기기상에서 이메일이 수신되면 항상 공지창을 통해 보여주고 사용자는 해당 메일을 확인할 수 있게끔 되어있는데, 이미 시스템상에서 원활히 돌고 있는 GSF를 이용하여 처리할 수 있다면 자원 관리적인 측면에서 월등히 좋으며 서비스 측면에서도 크게 무리가 없지 않을까 생각합니다. 마치 Facebook처럼 각 유저들의 wall에 메시지가 적혀지면 등록된 유저의 email 계정에 메시지가 보내지고 email상의 내부 링크를 클릭하면 해당 wall의 메시지를 보여주는 방식을 안드로이드에 탑재된 어플리케이션에서도 사용할 수 있지 않을까...하여 알아보고 있습니다만 아직 잘 모르겠습니다 ㅋ ;(


여기서 기능 구현상의 이슈는 크게 두가지.

1. GSF에서 수신되는 이메일 이벤트는 어떻게 받을 것인가?

2. 이메일상의 링크(xml or html)가 클릭되었을 시에 어떻게 어플리케이션 Activity를 실행시킬 것인가?


제가 알아본 바로는 gmailReceiver를 백그라운드 서비스로 등록시키어 어케어케 잘 하면 이메일 관련 이벤트를 받을 수 있을 것 같구,.

이메일 상의 링크(이메일 상의 버튼?)가 클릭되었을 때 서비스가 이를 읽어내 웹뷰로 가지 않고 어플리케이션을 실행시키면 될 것 같은데..


여러분들의 생각은 어떠하신지요?