[펌][android] GCM (2) – 클라이언트 만들기

이전 글에서 이어짐

 

Google Play Service 연결하기

  1. 이클립스 – Windows – Android SDK Manager 를 연다.
  2. 목록의 제일 아래쪽에 Goole Play Services 선택한다.
  3. 오른쪽 아래의 Install 버튼을 누른다.
  4. 설치가 끝나면 이클립스의 프로젝트 목록에서 오른쪽 클릭해서 import 메뉴를 선택하고,{sdk}/extras/google/google_play_services/ 를 선택한다.
  5. 작성할 프로젝트의 오른쪽 클릭 메뉴 – properties – Android – Library – Add… 버튼을 누른다.
  6. google-play-services_lib 를 선택한다.
    스크린샷 2014-01-13 오후 5.22.01

 

Manifest 편집

kr.mint.testgcm 이라고 적힌 부분은 실제 패키지 경로로 바꿔야 함.

 

MainActivity 편집

http://developer.android.com/google/gcm/client.html#sample-register  의 소스를 살짝 바꿨다.

 

 Received Message

예전에는 브로드캐스트 리시버에서 다 했던 것 같은데, 구글에서 가이드 해줬으니 그거 따라해야지….

 

 

Show in Notification bar

노티바에 표시하면서 0.5초 동안 진동하고, 클릭하면 메인화면으로 가는 거 추가

 

Preference

그냥 구글 소스대로 해놓고 글 작성할 걸 괜히 리팩토링해가지고 불편하게 됐네 ;;;

 

 

Registration ID 복사해두기

정상적으로 등록이 됐다면 logcat 에 RegID가 나올텐데, 이걸 복사해뒀다가 송신 서버 만들 때 쓰자.

 

예제소스

https://github.com/susemi99/GCM-client-sample

24 thoughts on “[android] GCM (2) – 클라이언트 만들기”

  1. Pingback: 쎄미 | [android, ruby] GCM (3) – 서버 만들기
    • 안드로이드 개발하려면 sdk를 연결해야하는건 아시죠?
      그 폴더에 가보면 저 경로에 google_play_services 라는 폴더가 있는데, 그 폴더를 import 하세요

  2. {sdk}/extras/google/google_play_services/
    저거임포트햇는데
    properties – Android – Library – Add에서
    google-play-services_lib이안뜨는데 어케해야하죠??ㅠㅠ

    • 제대로 add 가 됐는지, google_play_services 의 Library의 Is Library에 체크가 되어있는지, 프로젝트가 닫혀있지 않는지 확인해보세요

  3. 좋은 글 감사합니다. 이전 gcm.jar를 사용하던 버전과 다른 점이라면 안드로이드 키도 생성하는 부분인 것같습니다. 이 안드로이드 키를 어디서 사용하는지 소스상에도 나와있지 않은것같은데 어디서 사용하는 것인가요?

    • 구글사이트에서 만드는 api key를 말씀하시는 건가요? 기억은 안나는데, 그게없으면 메시지를 못받을겁니다. 아마 해당 패키지이름을 쓰는 앱만 받게돼있는 것 같아요

  4. Pingback: 쎄미 | [android, ruby] GCM (4) – Sinatra를 이용한 웹에서 GCM을 보낼 수 있는 서버 만들기
  5. 되는지 테스트 해볼라면 서버를 만들어 봐야 겠네요?
    감사합니다. 임포트 하는거 구글맵 쓰면서 해봤는데 이상하게 에러나서 에러 잡아볼라고 코쟁이들 질문 답 까지 찾아가면서 1시간 헤메다 짜증나서 지우고 다시 했는데 되네요 ㅋ

  6. 쎄미님 안녕하세요 : )
    클량 자당 알렉스입니다. ㅋㅋㅋㅋㅋㅋㅋ

    어찌어찌 검색하다보니 쎄미님 글까지 왔네요;

    지금 구글에서제공하는 기본 소스 gcm.jar 를 이용해서 gcm을 구현해놓았는데…
    포스팅하신 이것과 다른건지 궁금해서 여쭤보려구요.

    gcm에서 간혹 특정 디바이스에서 registrationId를 수집해오지 못할때가 있어서…
    혹, 쎄미님께서 포스팅하신 방법으로 하면 될까 하고 해보려고 합니다.

    • 안녕하세요~
      구글에서 플레이서비스로 자꾸 끌어들이고 있으니 아마 저게 최신 버전일거예요 ㅎㅎ
      예제소스 있으니까 한 번 해보시면 되지 않을까요?

      • 감사합니다!
        이걸로 하니까 되네요…휴;;;
        String regId = GCMRegistrar.getRegistrationId(_context);
        으로 안되던게 Google Play Service로 하니까 되는군요… 세미님 덕분에 잘 해결했습니다 ㅎㅎ
        다음에 뵈면 맛있는 쪼꼬바 사드릴께요~ ㅎㅎㅎ