2013. 12. 2. 22:08
GCM 정의 및 특징
GCM(Google Cloud Messaging)이란
서버에서 안드로이드 단말에 데이터를 전송하는 push 서비스GCM 특징
- 3'rd party 애플리케이션 서버를 구성하여 사용자에게 메세지를 전송하는 방식이다.
- 메세지 전달과 순서를 보장하지 않는다.
- 사용자 단말로부터 메세지를 받을 수도 있다.
- 앱이 실행중이 아니어도 메세지를 받을 수 있다. (broadcast receiver가 해당 앱을 실행시킨다)
- Android 2.2 이상부터 지원한다.
Lifecycle
- 사용자 어플에서 GCM서버로 등록 요청을 한다.
- 등록 성공 후 받은 registration ID를 3'rd party 서버로 전송한다.
- 3'rd party 서버에서는 registration ID를 저장하고 있다가, 필요할 때 해당 ID를 이용하여 GCM 서버로 전송할 메세지를 보낸다.
- GCM서버에서는 메세지를 받아서 해당 사용자에게 메세지를 전송한다.
- 사용자 어플의 broadcast receiver가 메세지를 처리할 어플을 구동시키고, 해당 어플이 메세지를 처리한다.

참고 및 주의사항
- GCM서버 등록에는 라이프 사이클 메소드가 없으므로 미등록시에만 등록한다.
- GCM 서버에서 메세지 전송을 시도한 후, 애플리케이션이 제거되었다는 NotRegistered 응답을 받으면 등록을 해제시켜야 한다.
- registration ID은 정기적으로 갱신될 수 있다.
- 사용자가 애플리케이션을 제거해도 GCM상에서 자동으로 등록이 해제되지 않는다.
GCM 시작하기
Google APIs Console 설정
- https://code.google.com/apis/console/ 에 접속한다. (프로젝트가 없는 경우 생성하라고 뜬다. 생성할 것)
- services메뉴에 들어가 Google Cloud Messaging for Android 항목을 on 한다.
- url의 https://code.google.com/apis/console/#project: 뒤에 나오는 숫자(Sender ID)와
API Access 메뉴의 API key 항목의 값이 (Authorization Key) 필요하다.
'프로그래밍' 카테고리의 다른 글
PostgreSQL (0) | 2014.06.30 |
---|---|
Android 성능향상 (0) | 2014.02.12 |
Thread Dump (0) | 2014.02.10 |
Eclipse Error (0) | 2013.12.10 |
Android DI (0) | 2013.12.02 |