SlideShare a Scribd company logo
1 of 9
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
Android
GCM 활용한
메시지 전송
Jellycoaster Inc.
Dev.team
목차
I. GCM
II. GCM 서버 구축시 유의점
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
I
- 안드로이드 단말의 앱에 데이터를 전송하는 푸시서비스
- 2012 구글 I/O에서 젤리빈과 함께 공개한 C2DM 대체 서비스
I
- 메시지 전송을 위한 3'rd Party 애플리케이션 서버 허용
- 메시지의 전달과 순서를 보장하지 않음
- 메시지를 수신하기 위해 애플리케이션이 실행되고 있을 필요가 없음
- 전달된 메시지 처리를 앱이 완벽하게 제어 할 수 있음
- Android 2.2 이상에서 실행
- Android 4.0.4 이상에서 실행시 Google 계정이 필요 없음
- 메시지 전송 건수 제한 없음
- 최대 100개까지의 메시지를 구글에서 보관 관리
I
- multicast의 경우 반드시 JSON 사용
- singlecast의 경우는 plain text 가능
- 메세지 요청 : https://android.googleapis.com/gcm/send 주소에 POST
방식으로 request
- firewall이 설치된 경우 5228, 5229, 5230 port를 open하여야 함
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 전송시 반드시 아래의 헤더중 하나를 함께 전송해야 함
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와 반드시 함께 설정되어야 함.
I
- 200 : 성공
- 400 : JSON 일때만 return, JSON 포맷이 아니거나 invalid field
- 401 : authentication 실패
- 500 : GCM server 의 internal error
- 503 : GCm server 가 임시로 사용불가 ( retry 해주어야 함 )
서울시 마포구 상암동 누리꿈스퀘어 연구개발타워 1111호 _ 070.7450.6572 _ dev@jellycoaster.com
감사합니다!
Jellycoaster Inc.
Dev.team

More Related Content

More from 정인 주

130416 blog bookstudy_final
130416 blog bookstudy_final130416 blog bookstudy_final
130416 blog bookstudy_final정인 주
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog정인 주
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog정인 주
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog정인 주
 
Nfc개발문서
Nfc개발문서Nfc개발문서
Nfc개발문서정인 주
 
Book study ________ ___________
Book study  ________ ___________Book study  ________ ___________
Book study ________ ___________정인 주
 
프로토타이핑
프로토타이핑프로토타이핑
프로토타이핑정인 주
 
퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인정인 주
 
심리를 꿰뚫는 UX디자인
심리를 꿰뚫는 UX디자인심리를 꿰뚫는 UX디자인
심리를 꿰뚫는 UX디자인정인 주
 
UX디자인 bookstudy
UX디자인 bookstudyUX디자인 bookstudy
UX디자인 bookstudy정인 주
 
게임화세미나 Final
게임화세미나 Final게임화세미나 Final
게임화세미나 Final정인 주
 

More from 정인 주 (20)

130416 blog bookstudy_final
130416 blog bookstudy_final130416 blog bookstudy_final
130416 blog bookstudy_final
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog
 
Android gcm ex_askdog
Android gcm ex_askdogAndroid gcm ex_askdog
Android gcm ex_askdog
 
Mvp 이전2
Mvp 이전2Mvp 이전2
Mvp 이전2
 
Nfc개발문서
Nfc개발문서Nfc개발문서
Nfc개발문서
 
Book study ________ ___________
Book study  ________ ___________Book study  ________ ___________
Book study ________ ___________
 
Nfc수정
Nfc수정Nfc수정
Nfc수정
 
Museum수정
Museum수정Museum수정
Museum수정
 
Nfc
NfcNfc
Nfc
 
Museum
MuseumMuseum
Museum
 
Starbucks
StarbucksStarbucks
Starbucks
 
Nfc
NfcNfc
Nfc
 
프로토타이핑
프로토타이핑프로토타이핑
프로토타이핑
 
퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인퍼소나로 완성하는 인터랙션 디자인
퍼소나로 완성하는 인터랙션 디자인
 
Jira manual
Jira manualJira manual
Jira manual
 
심리를 꿰뚫는 UX디자인
심리를 꿰뚫는 UX디자인심리를 꿰뚫는 UX디자인
심리를 꿰뚫는 UX디자인
 
Instagram
InstagramInstagram
Instagram
 
UX디자인 bookstudy
UX디자인 bookstudyUX디자인 bookstudy
UX디자인 bookstudy
 
게임화세미나 Final
게임화세미나 Final게임화세미나 Final
게임화세미나 Final
 

Gcm

  • 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