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편 포스팅을 다시 참고하기 바란다.
'분노=프로그래밍 > Android' 카테고리의 다른 글
ADT 23.0.2 ResourceNotFoundException 문제 (0) | 2014.10.21 |
---|---|
[AudioRecord 오류]Unable to retrieve AudioRecord object, can't record (0) | 2014.05.07 |
GCM 이용하기 2/3 (15) | 2013.04.07 |
GCM 이용하기 1/3 (1) | 2013.04.07 |