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

GCM PUSH 질문입니다...^^ (초보)

0 추천

안녕하세요 회사에 얼마전에 입사해서 PTT 개발중입니다.

저는 안드로이드 초보 개발자입니다.

 

서비스와 엔진, 서버 쪽은 수석님께서 해주시고 저는 Activity 쪽 많이 만지는데요

이번에 저희 PTT에 Push 기능을 넣고 있습니다..

 

GCM regstration ID 내려받는 것과 push 받는 것 까지 혼자 한번 해봤는데요

 

이번에 수석님이 서버쪽 작업을 하고..

 

제가 UI에서 talkgroup 인원을 초대하는 시나리오인데요

 

제가 인원 리스트에서 초대 버튼을 눌르면 push가 가야하는거잖아요

그말인 즉슨 gcm에 저는 요청을 보내면 되는건가요? 보낸다면 GCMsender를 이용하는건가요?

초대받는 사람의 regId만 있으면 되나요? 아닌가..regId는 서버가 가지고있는건가요?

 

대략적인 그림이 안그러져서 이렇게 질문 올립니다.

 

코드레벨 말고 어떤식으로 동작하는지 조언좀 해주시면 감사하겠습니다..^^

 

GCM, push에 대한 이해가 아직 많이 부족한 것 같은데..

미리 많이 알아보지 못하고 질문드려서 죄송합니다.. 회사에서 괜히 눈치보여서 빨리빨리 하고싶은 마음에..

 

감사합니다 ..

 
윤둥이 (4,560 포인트) 님이 2013년 8월 9일 질문

1개의 답변

+1 추천
 
채택된 답변
모든 것은 서버에서 처리합니다.

각 단말의 regstration id는 서버에서 관리해야 합니다.

초대 기능 flow를 보면

 

1. 초대할 사람 리스트를 받는다.

(서버에서 친구 목록을 받아야 겠죠. 그리고 그 목록에는 각 사람을 구분할 수 있는 id 값이 필요합니다.)

 

2. 서버에 해당 사람을 나의 채팅방에 초대한다고 요청한다.

여기서는 단말에서 GCM관련 작업을 어떤것도 할 필요가 없습니다.

단말에서는 서버로 요청만 하면 됩니다.

이때 서버에는 초대할 사람의 id, 초대할 채팅방의 id 값이 들어가야 합니다.

그래야 서버에서 누구를 어디에 초대할지 알 수 있겠죠.

 

3. 서버에서는 초대 요청을 받으면 id 값으로 해당 사람의 registration id 값을 검색하여

GCM 메시지를 보냅니다.

 

4. 초대 받는 사람의 단말에서는 GCM을 받고 관련 작업을 처리해 주면 됩니다.
원조안드로이드 (58,190 포인트) 님이 2013년 8월 9일 답변
윤둥이님이 2013년 8월 9일 채택됨
명쾌합니다! 감사합니다 ㅠ
...