안드로이드 개발 질문/답변
(글 수 45,052)
어느 분이 비슷한 질문을 올렸던 것 같은데요.
안드로이드에는 아이폰과 같은 Push notification 기능은 없나요?
물론 안드로이드는 멀티태스킹을 지원하므로 background 로 해당 어플이 구동되면 비슷한 효과를 보겠지만,
Notification 이 매우 간헐적이라는 가정하에
여러 Push 서비스 어플이 동시에 구동되면,
해당 어플들을 모두 background running 상태를 유지해야 하고,
이는 메모리 사용 측면에서 매우 비효율적이라 생각되는데요.
참고로, 아이폰의 경우는 아이폰 데몬(정확한 명칭은 모르겠습니다.)이 하나의 세션만 아이폰 push 서버와 열어 놓고,
각종 어플 서버가 아이폰 push 서버에게 약속된 방식으로 push 메시지 정보를 전달하는 방식입니다.
2010.02.08 17:19:59
백그라운드에 어플이 많이 돌아가면 비효율적인건 당연한겁니다. 컴퓨터도, 어떤 기기도 피할 수 없죠.
하지만 안드로이드는 최적화가 잘 되어있어(그쪽으로는.) 왠만큼 어플을 실행시키지 않으면 그다지 비효율적이지 않습니다.
부족한경우는 백그라운드 어플을 낮은 중요도 순으로(이 내용은 따로 글을 참고해 보시면 좋을 듯 싶습니다.) 프로세스를 죽이게 됩니다
백그라운드로 어플이 실행되면서 메시지가 생기면 Notification bar에 안내를 해주게 됩니다.
그곳에서 확인이 가능합니다.
2010.03.02 19:39:45
아이폰의 경우 멀티프로세싱(유저앱)이 안되기때문에 어쩔수 없이 그러한구조(APNS)로 간것이구요 안드로이드는 멀티가 되기때문에 걍 만드시면(푸쉬서버&클라이언트모두..) 됩니다. 장단점이 있습니다 개인개발자입장에서는 아이폰이 더 편해보일수도 있지만 이것이 기업용앱이 되는 시점부터 문제가 발생할 수 있습니다.
2010.03.11 13:25:42
참고용~
애플은 APNS 라는 서비스를 이용하여 push를 제공합니다.
2010.03.11 13:35:43
알람 기능과 함께 사용하시면 간헐적 푸시가 가능하게 됩니다.
물론 알람의 인터벌 설정이 중요해 지겠죠.
단순히 소켓만을 열어둔 상태면 리소스 걱정 그렇게 크게 안하셔도 되고요.
알람 기능을 통한 간헐적 통신방식을 추천합니다.
배터리에도 좋고요 ^^
2010.05.02 00:53:21
WAP 1.2 부터 Push 기능이 나오기 시작했는데 이때는 MMS(SMS) 방식에 헤더에 identifier 를 넣어서 구분했습니다. 즉 문자 전송방식에 일정한 구분자를 넣고, 내용이나 링크를 넣어서 보내는 방식이였습니다. 이러한 방식은 통신사와 제휴하지 않으면, 구현이 쉽지 않습니다.
애플은 APNS 라는 서비스를 통해서 모든 푸시 서비스를 관리 합니다. 폰과 서버가 연결이 되어 있고, 서버에서 푸쉬가 발생하면 폰으로 보내 줍니다. 100% 실시간은 아닙니다.
안드로이드는 자체적인 Push 지원은 없습니다. 서비스(백그라운드,데몬)으로 돌면서 일정 주기마다 체크하거나(Pull), 아이폰 처럼 자체 푸쉬서버를 만들거나, MMS 방식으로 구현해야 됩니다.
애플은 APNS 라는 서비스를 통해서 모든 푸시 서비스를 관리 합니다. 폰과 서버가 연결이 되어 있고, 서버에서 푸쉬가 발생하면 폰으로 보내 줍니다. 100% 실시간은 아닙니다.
안드로이드는 자체적인 Push 지원은 없습니다. 서비스(백그라운드,데몬)으로 돌면서 일정 주기마다 체크하거나(Pull), 아이폰 처럼 자체 푸쉬서버를 만들거나, MMS 방식으로 구현해야 됩니다.
2010.06.28 12:41:31
Froyo 부터 지원이 됩니다...애플의 APNS와 거의 유사하네요....
둘 다 방식은 푸쉬 처리를 해주는 Agent가 대표 서버에 붙어있는 방식입니다.
각자 소켓을 연결해서 있으면 아무래도 베터리에 치명적이겠죠....
http://code.google.com/intl/ko-KR/android/c2dm/
둘 다 방식은 푸쉬 처리를 해주는 Agent가 대표 서버에 붙어있는 방식입니다.
각자 소켓을 연결해서 있으면 아무래도 베터리에 치명적이겠죠....
http://code.google.com/intl/ko-KR/android/c2dm/