마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 gcm appengine 처음 시작하면서 질문드립니다.

0 추천

짧게 요약하면 https://developers.google.com/eclipse/docs/endpoints-androidconnected-gae

여기서 참고한대로 어플을 gae 서버에 등록하고 appengine 서버에서 어플로 메시지 전송은 되는데

 

어플에서 appengine 으로 메시지 전송을 하고 웹에서 확인을 하고싶은데 예제코드나 사례를 잘 찾을 수가 없더군요.

gcm-server.jar 에 포함되어있는 sender 명령으로 어떻게 할 수 있을것 같은데 구체적으로

서버랑 클라어플 양쪽에 어떻게 코딩해야하는지 잘 모르겠습니다. 이거 좀 알려주실분 계신가요?

 

추가적으로 google cloud storage도 연동을 해서 어떠한 텍스트파일같은걸 업로드하고 다운로드하는법이

appengine을 활용한 사례는 잘 나오지 않더군요...

 

 

 

 

 

 

이번에 어플을 개발하면서 어떠한 장비의 상태를 모니터링하는 기능을 구현했습니다

이제는 클라우드 서버를 이용해서 다수의 장비에서 똑같이 모니터링하는 기능을 구현하기 위해서

장비 -> 안드로이드디바이스 -> 클라우드서버 -> 다른디바이스

이렇게 구현하려고 합니다. (독자적인 서버를 꾸미기에는 지식이 부족해 제공되는 서버를 쓰려고 합니다)

결국 서버쪽에서 메시징을 받아서 바로 뿌려주는코딩이 필요하다는 사실을 알게 되었고

Google App Engine을 접하게 되었는데 여기에 대해서 아직 자료가 별로 없더군요

Android 연동에 대해선 더욱 없고... 외국 자료는 뭐가 뭔말인지 잘 모르겠고...

 

 

처음 어떻게 시작했냐 하면...

1.     https://code.google.com/apis/console    여기서 project 생성, server api key 발급,

GCM for AndroidGoogle Cloud Storage On 및 Bill 정보 작성

2.     eclipse 에서 gpe 플러그인 설치 http://dl.google.com/eclipse/plugin/4.2

3.     안드로이드프로젝트생성 - 오른쪽클릭 - google - generate app engine backend..

프로젝트-appengine 오른쪽클릭 - google - generate cloud endpoint client library...

(이렇게 하면 예제 코드가 바로 생성됩니다.)

4.     https://appengine.google.com/     여기서 아이디 발급

http://xxxxxxxxxxxxx.appspot.com/ 호스트 생성

5.     war/WEB-INF/appengine-web.xml 에

<application>xxxxxxxxxxxxx</application>  입력

6.    run-appengine 해서 서버 런 및 deploy to appengine...     어플실행해서 register.

 

여기까지 오는데도 국내에선 처음개발환경 구축부터 상세하게 나온 자료가 없어서 애먹었네요...

웹페이지 수정은 프로젝트-appengine 에서 war/index.html 을 수정하면 어찌어찌 되는것 같은데

html을 건드려본 적이 없으니 어찌해야할지도 잘 모르겠고... 난감하네요

gregory (150 포인트) 님이 2013년 6월 10일 질문
gregory님이 2013년 6월 10일 수정

1개의 답변

0 추천
 
채택된 답변
국내 사용자들이 많지 않다보니 자료가 많지 않은게 사실입니다.

우선 서비스 하시려는 부분이 구글앱엔진을 이용하는게 적절한지 타당성 검토를 먼저 하신 후

구글 앱엔진 활용과 관련한 서적을 하나 구입하시는게 좋을듯 싶어요

(구글 앱엔진은 게임서버로 쓰기에는 부적절하다고 하던데 혹시 게임개발이시라면 다른쪽으로 알아보시는게..)

 

그리고 말씀하신 내용은 "구글 앱엔진 php" 로 검색해보니 앱엔진에 php를 돌릴 수 있는걸 봐서는

일반적인 http 통신으로 하셔도 무방할 듯 합니다.
Gradler (109,780 포인트) 님이 2013년 6월 11일 답변
gregory님이 2013년 6월 11일 채택됨
아 몇시간 기본 코드 보다보니 해결했습니다... gcm api 부분은 앱엔진에 관련 없이 서버와 통신하는 메서드더군요.. 처음 GCMIntentService.register(); 함수로 앱엔진 서버에 등록하고 나면
CollectionResponseDeviceInfo existingInfo2 = endpoint.listDeviceInfo().execute();
existingInfo2.getItems();
함수를 활용해서 서버에 등록된 디바이스들 ID를 모두 가져와서
Sender.send(msg, registrationId, RETRY);
로 대상 디바이스로 바로 메시징이 날라가더군요...

앱엔진쪽은 css랑 html 부분으로 되어 있어서 어떻게 돌리는지 잘 모르겠고 나중에 페이지 구성하고 deploy하는거 알아봐야겠네요..


사실 게임개발쪽은 아니고 무인항공기를 운용하면서 모니터링, 원거리 데이터전송이 목적이라 상용서비스보다는 연구 목적도 있어서 구글앱엔진을 택했습니다...
...