본문 바로가기
개발/안드로이드

안드로이드 GCM 서버

by darksilber 2013. 11. 18.
반응형

 

 

출처 - http://aroundck.tistory.com/790

GCM Server 개발하기

메세지 보내기

3rd-party app server 가 multicast 를 할 경우는 반드시 JSON 을 사용해야만 하며, single cast 할 경우는 plain text 도 가능하다.


GCM server 에 메세지 요청은 https://android.googleapis.com/gcm/send 주소에 POST 방식으로 request를 한다. header 에는 반드시 다음 parameter 들이 들어가야 한다.

- Authroization:key=API_KEY

- Content-Type:application/json or application/x-www-form-urlencoded:charset=UTF-8

 


Content-Type:application/json

Authorization:key=AIzaSyB-1uEai2WiUapxCs2Q0GZYzPu7Udno5aA


{

"registration_id" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",

"data" : {

...

},

}

 


만약 content-type 이 없다면, plain text 로 간주된다.

 



JSON 파라미터들

- registration_ids : array. 1~1000까지 들어갈 수 있다.

- collapse_key : message type 을 grouping 하는 녀석으로, 해당 단말이 offline 일 경우 가장 최신 메세지만 전달되는 형태다.

- data : key-value pair.

- delay_while_idle : message 가 바로 전송되는 것이 아니라, phone 이 active 되었을 때 collapse_key 의 가장 마지막 녀석만 전송되도록.

- time_to_live : 단말이 offline 일 때 GCM storage 에서 얼마나 있어야 하는지를 설정함. collapse_key 와 반드시 함께 설정되야 한다.

 



 



Plain text 파라미터들

- registration_id

- collapse_key

- data.<key>

- delay_while_idle

- time_to_live

 


{ "registration_ids": [ "42" ] }


registration_id=42


{ "data": {

"score": "5x1",

"time": "15:10"

},

"registration_ids": ["4", "8", "15", "16", "23", "42"]

}

 


{ "collapse_key": "score_update",

"time_to_live": 108,

"delay_while_idle": true,

"data": {

"score": "4x8",

"time": "15:16.2342"

},

"registration_ids":["4", "8", "15", "16", "23", "42"]

}

 


collapse_key=score_update&time_to_live=108&delay_while_idle=1&data.sc


ore=4x8&data.time=15:16.2342&registration_id=42

 


cf) firewall 이 있는 경우 ports 는 5228, 5229, 5230 을 open 해야 한다. 보통은 5228 만 사용하고, 5229 와 5230 은 가끔 사용된다.

 

 




Response Format

- 200 : 성공

- 400 : JSON 일때만 return 되며 JSON 을 parsing 할 수 없다는 의미. 혹은 invalid field 를 가지고 있다는 의미.

- 401 : authentication 실패

- 500 : GCM server 의 internal error

- 503 : GCm server 가 임시로 사용불가 ( retry 해주어야 함 )

 


반응형

댓글