본문 바로가기

분노=프로그래밍/Android

GCM 이용하기 3/3

Google Cloud Messging For Android(3/3)


거의 다 왔다. 정말이다.

하단에 추가된 GCM을 이용한 메시지 발송 샘플을 구현하면 실제 메시지를 발송할 수 있으며,

이를 커스터마이즈하여 실제 프로젝트에서도 사용가능하다.



1.GCM을 이용한 Message 발송하기

import java.net.URLEncoder; import com.google.android.gcm.server.Message; import com.google.android.gcm.server.Result; import com.google.android.gcm.server.Sender; /** * GCM 메시지 발송을 위한 샘플 구현 소스이다. * 하단의 내용을 커스터마이즈하여 실제 서버단에서 발송모듈로 구현 가능하다. * @author Leminity * */ public class GCMTest { private static final String REGISTRATION_ID = "";//registration Id 입력 private static final String APIKEY = ""; //GCM에서 발급받은 ApiKey를 입력 public static void main(String[] args) { try { String sendTlt = "타이틀 제목"; String sendMsg = "내용 : 메시지가 보입니다"; Sender sender = new Sender(APIKEY); /** * message Build 부분에서 addData로 추가한 값은 어플리케이션의 * onMessage(context, intent)에서 Intent로 전달되며 * intent.getExtras().getString("title")형태로 얻어와 사용 가능하다. */ Message message = new Message.Builder() .addData("title", URLEncoder.encode(sendTlt, "UTF-8")) .addData("msg", URLEncoder.encode(sendMsg, "UTF-8")) .build(); //발송할 메시지, 발송할 타깃(RegistrationId, Retry 횟수) Result result = sender.send(message, REGISTRATION_ID, 3); if (result.getMessageId() != null) { System.out.println("Send success"); } else { String error = result.getErrorCodeName(); System.out.println("Send fail : " + error); } } catch (Exception e) { e.printStackTrace(); } } }



상기 소스에서 상수로 잡혀 있는 registration Id는 디바이스 내 어플리케이션에서 GCM에 등록을 요청하여

발급받는 값이며 ApiKey는 GCM에 프로젝트 생성으로 발급받은 값을 의미한다.

이해가 가지 않는다면 1, 2편 포스팅을 다시 참고하기 바란다.