본문 바로가기

프로그래밍/Android

GCM 메시지 전송

* GCM 서버에 메시지 전송 요청

 

서버 URL : https://android.googleapis.com/gcm/send

 

HTTP HEADER

Content-Type:application/json

Authorization:key=YOUR_API_KEY

 

HTTP BODY(JSON)

{

   메시지를 전달할 디바이스의 등록 id 리스트

   "registration_ids":[" "],

   메시지 그룹설정 : 오프라인에서 온라인 상태가 되면 많은 메시지가

   전달되는 것을 막고, 그룹내에서 가장 최신의 메시지만 전달.

   "collapse_key": "string"

 

   전송할 json 목록 : 크기는 4kbyte 제한, 키쌍의 제한은 없음

   이미정의된 값의 사용은 권장하지 않음.

   "data":[list],

 

   디바이스가 아이들 상태일때는 전달하지 않음(기본 false)

   "delay_while_idle": boolean

 

   디바이스가 꺼진경우 몇초간 메시지를 서버에 보관할 것인지 설정(기본값은 4)

   "time_to_live": number,

 

   패키지명 지정( 옵션)

   "restricted_package_name": "string",

 

   개발자를 위한 옵션으로 실제 전송이 이루어지지 않음.(기본 false)

   "dry_run": boolean

}

 

 

* GCM Server 라이브러리를 사용하는 경우

final String MY_API_KEY = "code.google.com/apis/console 에서 받은 api 키";

 

Sender sender = new Sender( MY_API_KEY );

Message message = new Message.Builder().addData("Key", "Value").build();

Result result = sender.send( message, REGISTRATION_ID, 재시도 횟수);

 

>> Message 는 아래와 같이 구성 가능

Message message = new Message.Builder()

.collapseKey(collapseKey)

.timeToLive(3)

.delayWhileIdle(true)

.addData("key1", "value1")

.addData("key2", "value2")

.build();

'프로그래밍 > Android' 카테고리의 다른 글

[Android] Data Binding Library  (0) 2019.03.31
String 리소스에 html 태그 넣기  (0) 2014.04.29
파일 변경 이벤트  (0) 2014.04.01
[안드로이드TV] 개발 전 확인사항  (0) 2014.02.17
GoogleTV 개발환경 설정  (0) 2014.02.06
Dialog  (0) 2013.02.22
Fragment 기본  (0) 2012.12.28
EditText 특수문자 입력 제한  (0) 2012.09.10
앱 연동  (0) 2012.07.27
Parcelable  (0) 2012.05.22