메뉴 건너뛰기

조회 수 6389 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄 첨부

Android Push GCM 서버 구성 하기(3) 


전 포스트까지 진행 해서 앱에서 regId 를 추출까지 진행 했습니다 .

그러면 이제 마지막으로 서버로 부터 앱으로 푸시를 보내는 기능을 구성해보려 합니다 .


1. 서버 API KEY 생성


01.png




왼쪽 Credentials 를 선택 하고 하단의 Create new Key 를 선택합니다 .


02.png




Server Key 를 선택합니다.


03.png




04.png




그러면 이와 같이 Server 의 API Key 를 얻을 수 있습니다 .

이키가 나중에 서버 코드 작성 할 시 필요 합니다 .



2. 서버 jar 파일 삽입


gcm-server.jar 이 필요합니다 .

저는 메이븐을 사용 하고 있어서 mavenrepository 홈페이지를 통해서 받았습니다 .

Android SDK Manager 를 통해서도 받을 수 있습니다 .


http://mvnrepository.com/


06.png




gcm-server 로 검색합니다 .


07.png




그럼 하단에 이와 같이 라이브러리가 있습니다.

08.png


1.0.2 를 선택하고 들어 가면 아래와 같은 코드를 통해서 jar 를 받았습니다.

09.png



 

 


이렇게 진행 후에 하단의 서버 코드를 작성합니다.


2. 서버 코드 작성


Colored By Color Scripter

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(os.equals("android")){ // Android
            
            Sender sender = new Sender(API_KEY);                //푸시 보내는 객체 생성
            Message.Builder builder = new Message.Builder();    //푸시 메시지 만드는 객체
            builder.addData("message", message);
            builder.addData("summernerName", summernerName);
            builder.addData("boardId", boardId);
            builder.addData("facebookId", facebookId);
            Message msg = builder.build();
            
            Result result = null;
            try {
                result = sender.send(msg, board.getAddUsers().getPushId(), 5);            //푸시 전송
            } catch (IOException e) {
                e.printStackTrace();
            }
            
        }else{// IOS
            
        }


서버 코드 작성 부분 입니다 .

 

아까 위해서 추출한 Key 가 Sender 생성자 부분에 들어가게 됩니다 .

그후에 Message.Builder 를 통해서 보낼 메세지를 키와 값을 통해서 전달 합니다.


send 시에 첫번째 인자는 : android App 에서 추출한 regId 값,

              두번째 인자는 : 푸시 실패시 재시도 횟수 입니다 .


푸시 하는데 처음에는 오래걸리지만 정리만 잘해 놓으면 2시간이면 할 수 있는것 같습니다 .


List of Articles
번호 제목 날짜 조회 수
157 [안드로이드] 뷰(View)의 너비와 높이 지정하기 file 2015.07.17 7141
156 [안드로이드] 뷰(View)에 여백넣기 file 2015.07.17 7231
155 [안드로이드] 버튼 이벤트 처리하기 file 2015.07.17 7035
154 안드로이드 webview (웹뷰) 개발 #1 - 웹사이트를 어플로 만들어 보자! file 2015.07.17 8913
153 안드로이드 webview (웹뷰) 개발 #2 - 파일 첨부 및 플러그인 적용하기 file 2015.07.17 8296
152 안드로이드 webview (웹뷰) 개발 #3 - 초기 로딩화면 (splash) 띄우기 + 아이콘 적용하기 file 2015.07.17 8698
151 안드로이드 webview (웹뷰) 개발 #4 - 멀티터치 ( 확대 / 축소 ) 적용 file 2015.07.17 7553
150 안드로이드 ( Android ) APK 파일 생성하기 file 2015.07.17 7312
149 [안드로이드] 페이스북 같은 슬라이드 메뉴 만들기 file 2015.07.21 8213
148 [안드로이드] 화면추가 버튼 리스너 file 2015.07.22 7681
147 안드로이드 스튜디오 gradle error 해결 2015.07.23 6686
146 안드로이드 팝업창 만들기(xml 내용 집어넣기) file 2015.07.23 9285
145 블루투스(Bluetooth) 통신에 대해 알아보자 file 2015.07.26 14051
144 블루투스 및 비콘 관련 정리 2015.07.26 10829
143 안드로이트 비콘 스캐닝시 고려 사항 2015.07.26 6663
142 폰갭 비콘 디텍팅 안될 때 (기본적인건 다 되있어야됨) 2015.07.26 6535
141 안드로이드 종료 취소 다이얼로그 코드 2015.07.26 6394
140 안드로이드 로딩화면 샘플 file 2015.07.26 7579
139 안드로이드 채팅 소스 샘플 file 2015.07.26 10088
138 화면 전환해도 데이터 유지 예제 2015.07.26 9204
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved