본문 바로가기

개발 관련 지식/안드로이드(Android)

[안드로이드] GCM 서버 구현 예제(1)_APP 클라이언트

* GCM 서버 구현 예제(1)_APP 클라이언트

 

* 개요

: 지난 포스팅에서 GCM 신청 방법에 대해 알아보았다. 그렇다면 신청했으면 사용해 보아야 하지 않을까?!! 이번 포스팅에서는 실제로 GCM 을 사용하는 간단한 예제를 구현해볼까 한다!

 

* 구글에서 제공하는 GCM 예제 코드 다운로드

: https://code.google.com/p/gcm/

 

 

 

git 다운로드: git clone https://code.google.com/p/gcm/

 

 

* GCM 서버 구현하기

 

1. Google Play Service SDK 다운로드

1)  Android SDK Manager 실행 > Extras > Google Play services 패키지 설치

2) Andoird SDK Manager 실행 > Extras > Google Cloud Messaging for Android Library 패키지 설치

 

2. 패키지(Package) 경로 확인

 1) {SDK-HOME}/extras/google/google_play_services

 2) {SDK-HOME}/extras/google/gcm

 

 

 

 

3. google-play-services_lib 가져오기

1) File > New > Other... > Android Project from Existing Code 선택 후 Next

 

2) Browse... > 패키지 설치 lib 경로({SDK-HOME}\extras\google\google_play_services\libproject\google-play-services_lib 선택 > Copy projects into workspace 체크 > Finish 클릭

 

3) 아래와 같은 폴더가 생성된 것을 확인할 수 있다.

 

 

 

4. 안드로이드 프로젝트 생성 및 LIBRARY 연결

1) 프로젝트를 생성한다.

 (본인은 프로젝트명을 GcmTestClient로 생성하였다.)

 

2) 프로젝트를 우클릭하여 Properties 선택

 

 

 

3) Android 탭 > Library 박스 내의 Add 선택하여 2번에서 추가하였던 lib 폴더를 선택 > OK 버튼 클릭

 

 

5. 다운받은 예제 파일에서 ../samples/gcm-demo-client 내의 src, res 폴더와 AndroidManifest.xml 파일을 사용한다.

1) src 폴더 내의 ../com/google/android/gcm/demo/app 폴더의 .java 파일들을 복사하여 생성한 프로젝트 내의 src 폴더에 붙여넣는다.

: CommonUtilities.java / DemoAcitivity.java / GCMIntentService.java / ServerUtilities.java

 [수정해줄 사항]

 + com.google.android.gcm.demo.app -> <내가 만든 패키지명> 으로 변경 (공통)

 + static final String SERVER_URL = null; -> "http://서버ip:port번호" 으로 변경 (CommonUtilities.java 파일)

 + static final String SENDER_ID = null; -> "Project Number" 으로 변경 (CommonUtilities.java 파일)

 

2) res 폴더 내의 파일들을 모두 복사하여 프로젝트 내의 res 폴더에 붙여넣는다.

 

3) AndroidManifest.xml 파일의 내용을 복사하여 프로젝트에 붙여넣는다.

 [수정해줄 사항]

 + com.google.android.gcm.demo.app -> <내가 만든 패키지명> 으로 변경

 

6. GCM (gcm.jar) 라이브러리 추가하기 

 [참고] GCM 라이브러리 패키지를 설치하지 못할 경우

: GCM 라이브러리는 SDK Manager 버전에 따라 Google Cloud Messaging for Android Library 가 나타나지 않는 경우도 발생해서 사용 예제 파일 다운로드의 파일을 다운받아 압축을 풀면 gcm.jar 파일을 확인할 수 있다.(따로 받아서 예제와 함께 포함해서 올려둠)

1) SDK Manager로 패키지를 설치하였으면 해당 패키지 경로의 ../gcm-client/dist 폴더 내의 gcm.jar 파일을 자신의 프로젝트의 libs 폴더 내에 복사한다.

 

 

2) 위의 방법으로도 라이브러리 추가가 안된다면 프로젝트 내에 복사한 뒤, 아래의 방법으로 추가해본다.

: gcm.jar 파일 오른쪽 버튼 > Build Path > Add to Build Path 클릭

 

 

 

7. 구현한 APP 클라이언트 실행

: 여기까지 완료되었으면 이제 실행하여 Register Id를 잘 받아오는지 확인해보자~!

 

1) 프로젝트 오른쪽 클릭 > Run As > Android Application 클릭

 

2) 실행화면 확인

 : GCM 으로부터 받은 RegId 를 확인할 수 있다.

 

3) 화면으로 확인한 RegId가 생각보다 길기 때문에 텍스트로 복사하기 위해 Log로 남겨주자~!

 <DemoActivity.java>

final String regId = GCMRegistrar.getRegistrationId(this);
Log.e("song", "regId["+regId+"]");                 // RegId를 복사하기 위해 Log를 남겨주자!
if (regId.equals("")) {
            // Automatically registers application on startup.
            GCMRegistrar.register(this, SENDER_ID);

...

 

4) 재실행하여 LogCat에 나오는 RegId를 확인하여, 추후 개발할 서버에 사용해주면.. 끝~!

 

 

 

* 사용 예제 파일 다운로드

:gcm-example.zip