Portfolio/서울고앱

GCM 구현 완료

루카스강 2014. 8. 12. 16:18

 

2014. 08. 12.

 

어제 소공 회의 때 이번주까지 학사알림팝업 기능을 구현하기로 했다.

 

그래서 GCM 연습 겸 서울고 앱에 적용을 했다.

 

1. 사용된 언어, 프로그램

 

 - 안드로이드 ( 자바 )

 

 - php, mysql

 

 - APM

 

2. 돌아가는 원리

 

  1) 앱에서 서버로 스마트폰 id를 전송, 등록

 

  2) 서버에서 구글 서버로 서버 키와 전송할 메시지, 보낼 주소 ( 즉 스마트폰 id 키)를 전송 (curl, json)

 

  3) 구글 서버에서 스마트폰으로 gcm 을 쏴준다.

 

 

 예를 들자면 앱을 실행하면 Main Activity 에서 서버로 reg_id  를 전송해주고

 

 서버에서는 php 로 이 값을 받아서 mysql 에 저장해준다.

 

 서버의 DB에 저장되있는 id 값을 바탕으로 메시지와 키와 id 값을 gcm 서버에 전달해주면

 

 gcm 서버에서 이 내용들을 스마트폰에 뿌려주는 것이다.

 

 

 

 3. 성공 짤

 

 

 

 

학사 정보 기능은 gcm 보다 먼저 하긴 했는데 아직 미완성이니깐 다음에 포스팅 해야지

 

 

 

4. 오늘의 뻘짓

 

  1) 처음엔 php 버전이 낮아서 안되는줄 알고 telnet 을 활성화 시키고 putty 를 깔아서 curl 버전을 올리려고 했는데....

 

      호스팅 서버라서 그런가 안되었다.  ( 나중에 알고보니 내가 영어를 못하는 거였다. enable 을 지원안함으로 착각해서 이런 실수를,.....)

 

  2) 퍼미션 설정할 때 com.example 로 되어 있는거 수정하는 거 깜박하고 안했다가 퍼미션 오류가 났다.... ( 근데 이건 로그보고 금방 고침)

 

  3) 이게 제일 오래 걸린 망할 오류인데 sql 에서 데이터를 받아 올때 길이를 짧게 설정해서 reg_id 뒷부분이 다 짤린.... 그래서 자꾸 invalidRegistration 이라고 뜨더라....

 

     처음 DB를 구성할 때 reg_id 100바이트만 줘도 되겠지 하고 100바이트 줬더니.... 뒷부분 다 짤려서 전송이 안되더라

 

     이것 때문에 오만 별짓을 다하다가 설마 짧아서 그런가 하고 250바이트로 높여주니 바로   success....

 

   4) TextView message; 에서 띄어쓰기 잘못해서 text Viewmessage 로 해놨던... 왜 자꾸 message에서 빨간줄이 뜨나 했다

 

 

 5. 느낀점

 

  예전에 C2DM 구현할 때보단 훨씬 쉬워진 것 같다.

  ( 길이 오류 때문에 오래 걸리긴 했지만....)

 

  역시 이 분야에서는 성취감으로 살아가는 것 같다.  ( 토할것 같이 안되다가 성공했을 때의 성취감은....)

 

  이제 파싱 부분 해야 되는데 막막하다. 이정도?

'Portfolio > 서울고앱' 카테고리의 다른 글

개발기간 연장  (0) 2014.08.29