본문 바로가기

분노=프로그래밍/Android

GCM 이용하기 1/3

Google Cloud Messaging for Android(1/3)


Google Cloud Messging이란 Google에서 제공하는 메시지 발송 서비스로서

자신이 개발한 어플리케이션을 사용하는 사용자들에게 메시지를 발송할 수 있는

구글에서 제공하는 서비스 시스템이다.


본 주제는 크게 3개로 나뉘어 포스팅 되며, 포스팅 순서는 다음과 같다.


1.Google Cloud Messaging for Android 개요

2.구현 - GCM 적용 Sample Application 구현

3.구현 - Sample Application에 메시지 발송을 위한 Sample 구현


그럼 이제부터 GCM이란 무엇인지 먼저 알아보도록 하자.




1. GCM이란?

Google Cloud Messaging(이하 GCM으로 통칭)은 Google 서버를 이용(이하 GCM Server로 통칭)하여

사용자 개개인의 디바이스 내 어플리케이션 단위로 타겟팅을 하여 메시지를 전송할 수 있는 Service이다.

해당 서비스를 이용하기 위해선 최소 Android 2.2 Froyo(apiLevel 8)가 되어야 한다.


2. GCM 발송

개발자는 GCM Server를 통해 최대 4Kb 크기의 메시지를 전송 가능하며, 이를 통해 개발자는 GCM을 적용한 자신의 어플리케이션을 사용한 사용자에게 자신이 원하는 액션을 사용자에게 제공할 수 있다.

(예 : 공지사항, 어플리케이션 홍보)


3. GCM Process

GCM을 이용하기 위해선 Google의 GCM 홈페이지(http://developer.android.com/google/gcm/index.html)

에서 apiKey, Project ID 2개의 값을 발급받아야 한다.


GCM 발송프로세스은 하단의 그림을 참조하도록 한다.


<그림. GCM 발송 프로세스> 


*전제 조건

Google에서 제공하는 라이브러리를 통해 GCM으로부터 ID발급 요청 및 메시지를 수신하기 위한 GCMIntentService

(Android Service Component)가 적용되어 있어야 함.


GCM 발송 프로세스

1)어플리케이션에서 Registration Id를 발급 요청한다.

   (디바이스의 어플리케이션 단위로 타겟팅 되므로 GCM 서버에 PROJECT ID를 서버에 전송)

2)발급된 ID를 리턴 받는다.

3)어플리케이션은 발급된 ID를 발송자(Message Sender)에게 전달한다.

4)발송자는 전달받은 Registration ID를 저장한다.

   (메시지를 발송할 때 Regsitration ID로 발송할 타겟을 지정하기 위해 registration Id가 필요하다.)

5)저장한 Registration ID와 GCM에서 발급받은 apiKey를 통해 사용자의 어플리케이션에 메시지 발송을 요청한다.

6)GCM Server는 apiKey와 Registration ID를 통해 발송받을 어플리케이션을 타겟팅하여 메시지를 전송한다.7)메시지 전송 결과를 발송자에게 리턴한다.

   (정상 발송, 사용자가 어플리케이션을 삭제하여 전송할 수 없는 경우, 네트워크 오류 등에 대한 결과를

    리턴하게 된다.)


4.GCM 서비스 이용 방법(그림 교체 필요)

 상기 3.GCM Process에 언급되었던 apiKey와 registration ID를 발급받는 절차를 설명한다.

 http://developer.android.com/google/gcm/index.html에서 apiKey와 Project ID를 발급 받을 수 있다.

1) http://developer.android.com/google/gcm/index.html에서 Getting Started 선택

 

 

2) Google APIs Console Page 선택

 

 

3) Create Project... 선택 후 프로젝트 생성(자신이 원하는 프로젝트 명을 입력한다.)

 

 

4) 화면의 왼쪽 상단에서 Services 메뉴를 선택

 

 

5) Google Cloud Messaging for Android를 ON으로 선택

 

 

6) 화면 오른쪽 상단 메뉴에서 Overview 선택 후 Project Number(Project ID)를 확인(어플리케이션에 해당 키를 적용해야 한다.)

 

 

7) 화면 오른쪽 상단 메뉴에서 API Access 선택 후 API Key 확인 가능(어플리케이션으로 메시지를 발송할 때 필요)

 

 

 

구현

실제 구현에 대해서는 2편에서 다루기로 하겠다.