1. 서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
Android
GCM 활용한
메시지 전송
Jellycoaster Inc.
Dev.team
2. 목차
I. GCM
II. GCM 서버 구축시 유의점
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
3. I
- 안드로이드 단말의 앱에 데이터를 전송하는 푸시서비스
- 2012 구글 I/O에서 젤리빈과 함께 공개한 C2DM 대체 서비스
4. I
- 메시지 전송을 위한 3'rd Party 애플리케이션 서버 허용
- 메시지의 전달과 순서를 보장하지 않음
- 메시지를 수신하기 위해 애플리케이션이 실행되고 있을 필요가 없음
- 전달된 메시지 처리를 앱이 완벽하게 제어 할 수 있음
- Android 2.2 이상에서 실행
- Android 4.0.4 이상에서 실행시 Google 계정이 필요 없음
- 메시지 전송 건수 제한 없음
- 최대 100개까지의 메시지를 구글에서 보관 관리
5. I
- multicast의 경우 반드시 JSON 사용
- singlecast의 경우는 plain text 가능
- 메세지 요청 : https://android.googleapis.com/gcm/send 주소에 POST
방식으로 request
- firewall이 설치된 경우 5228, 5229, 5230 port를 open하여야 함
6. I
2013 Jira Manual by Jellycoaster Inc. Dev.team
[JSON 방식]
- Authroization:key=API_KEY
- Content-Type:application/json
[Plain TEXT 방식]
- Authroization:key=API_KEY
- application/x-www-form-urlencoded:charset=UTF-8
GCM 전송시 반드시 아래의 헤더중 하나를 함께 전송해야 함
7. I
- registration_ids : json 방식 전달시 최대 1000까지 가능
- collapse_key : message type을 grouping 하여 해당 단말기가 offline 일
경우 가장 최신 메세지만 전달함
- data : key-value pair
- delay_while_idle : phone 이 active 되었을 때 collapse_key 의 가장 최신
메시지만 전송 (message 가 바로 전송되는 것이 아님)
- time_to_live : 단말이 offline 일 때 GCM storage 에서 얼마나 있어야
하는지를 설정. collapse_key와 반드시 함께 설정되어야 함.
8. I
- 200 : 성공
- 400 : JSON 일때만 return, JSON 포맷이 아니거나 invalid field
- 401 : authentication 실패
- 500 : GCM server 의 internal error
- 503 : GCm server 가 임시로 사용불가 ( retry 해주어야 함 )
9. 서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
감사합니다!
Jellycoaster Inc.
Dev.team