본문 바로가기

Android

[버섯] GCM 관련 기초 자료 3 - 서버 설치


안녕하세요 버섯돌이 유재성입니다.


당분간은 제 계정 정보로도 테스트가 가능하겠지만 반드시 자신의 정보에 맞는 값으로 설정하시기 바랍니다.


GCM 서비스를 빠른 시간안에 간단히 테스트만 하시려는 분들을 위해 이 글을 작성합니다.^^

저는 모바일 앱 개발을 해 보지 않았기에 관련 질문은 하셔도 99%는 모른다고 생각하시기 바랍니다.


본 글은 아래 구글의 GCM Demo 자료를 따라하는 글이기때문에

세부적인 내용이나 모르는 부분들은 구글의 GCM관련 글 들을 참고 하시기 바랍니다.

http://developer.android.com/guide/google/gcm/demo.html#server-setup


나중에 시간이되면 그림과 내용을 추가 하겠지만 위 URL을 보시면 이미 나와있으니 참고 하시기 바랍니다.


참고로, 앞 강좌를 안 보고 이 강좌부터 보시는 초보 분들을 위해 몇 가지 부연 설명을 하자면

저는 안드로이드 SDK가 "C:\Users\MrYoo\"에 설치되어 있습니다.

따라서, 이 글을 보시는 분들은 자신의 SDK 경로에 맞게 이해하시기 바랍니다.


그리고 Demo를 빌드하려면 컴퓨터에 ANT는 설치되어 있어야 합니다. 

http://ant.apache.org/bindownload.cgi

zip 파일 다운 받고 환경 변수로 "ANT_HOME" 설정 하신 후 "PATH"에 "bin" 디렉토리를 추가 하시면 됩니다.


서버 테스트를 위한 톰켓은 OS에 맞는 ZIP버전을 다운 받아서 압축을 해제 하시면 됩니다.

http://tomcat.apache.org/download-60.cgi


세부 정보가 필요하다면 인터넷에서 각 각의 강좌들을 참고 하시기 바랍니다.


[**서버 설정**]

1. api.key 파일의 내용을 자신의 API KEY로 수정 함.

C:\Users\MrYoo\android-sdks\extras\google\gcm\samples\gcm-demo-server\WebContent\WEB-INF\classes\api.key


 어떤 값을 입력해야 하는지 잘 모르시겠다면 "GCM 서비스 신청" 글을 확인하시기 바랍니다.

 http://blog.naver.com/dev4unet/120164239008


 

   제 경우에는 "AIzaSyAWzxAkRCK4DALTxiaM-kLGL2uMH0C8NfY" 입니다.



2. 윈도우즈 좌측 하단의 "시작 > 실행 > cmd" 실행 또는 "Windows+R키 > cmd" 입력후 엔터

    



3. war파일 생성을 위해 콘솔창에서 "gcm\samples\gcm-demo-server" 폴더로 이동

   "cd C:\Users\MrYoo\android-sdks\extras\google\gcm\samples\gcm-demo-server" 명령으로 이동 하거나

   콘솔창에 "CD "까지만 입력 후 탐색기에서 주소 창을 끌어다 놓으면 자동으로 입력 됨.




3. 아래 명령어로 war파일 생성

   > ant war


  



  특별한 에러가 없다면 위와 같은 과정으로 Build가되며 dist폴더에 gcm-demo.war파일이 생성됩니다.

 



4. dist폴더에 생성된 "gcm-demo.war" 파일을 사용중인 WAS(예:톰켓)에 배포 함.

    배포는 단순히 사용중인 톰켓 서버의 webapps 폴더에 gcm-demo.war 파일을 복사하면 됩니다.


    참고) 톰켓은 zip 파일 다운 받아서 아무 폴더에나 압축 풀고 실행하시면 됩니다.

    세부 내용은 톰켓 관련 강좌를 참고 하세요.^^;;;


5. 톰켓(WAS) 구동 후 웹브라우저에서 /gcm-demo/home을 방문 합니다.

    예) http://127.0.0.1:8080/gcm-demo/home


    서버 구동후 등록된 단말이 없을 경우에는 아래처럼 "No devices registered!"라는 문구가 출력됩니다.

    


   클라이언트 앱을 실행 하면 아래처럼 단말이 등록됩니다.

   



   (제 경우에는 1개의 단말에서만 테스트 했기때문에 1개만 등록되어 있습니다.)



   이때, Tomcat 로그를 보시면 아래처럼 등록된 단말의 등록ID를 알 수 있습니다.

   



   나중에 위 등록ID를 이용해서 해당 단말에 메시지를 전송하게 됩니다.

   보통은 위 값을 DB등에 저장해 놓고 이용하게되는데 간단한 샘플이니 참고만 하시기 바랍니다.^^



   참고로, "Send Message" 버튼을 클릭하면 아래 그림처럼 등록된 단말로 메시지를 전송했다는 메시지가 표시됩니다.

   




   클라이언트의 스마트폰에는 GCM으로 부터 문자를 수신했다는 내용이 출력됩니다.


   "From GCM: you got message!"




API Key등이 노출되면 좋지 않다보니 제거 했었으나 GCM의 이해를 쉽게 하기 위해 전부 포함하도록 수정했습니다.


제 전문 분야가 아닌데다 짜투리 시간에 급하게 작성하는 것이라서 잘 못된 부분이 있을 수 있습니다.

틈틈이 내용을 수정이나 보완하고 있으니 가끔씩 원본 출처에서 변경 내용을 확인 하시기 바랍니다.


[저작권 관련]

이 부분을 함께 이동하는 경우에 한해서 다른 곳으로의 이동을 허락하며

거의 모든 내용은 http://blog.naver.com/dev4unet 블로그에도 함께 포스팅되므로
잘 못된 내용의 수정이나 전달 사항이 있으면 위 블로그에 메모를 남겨주시기 바랍니다.

참고로, 해당 글에 대해서 타인과 공유될 수 없는 쪽지와 메일등으로는 질문을 받지 않습니다.

 

본 게시글의 원본출처는 http://yoo7577.dev4u.net 이며,

원활한 공유및 내용 수정이 필요할 때 잘 못된 내용의 전파를 최대한 막기 위함이니

게시물의 일부 또는 전체의 직접적인 수정을 금지합니다.