메뉴 건너뛰기

조회 수 6388 추천 수 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
번호 제목 날짜 조회 수
257 버튼 이벤트 추가하기 file 2021.03.31 191
256 안드로이드 스튜디오 - 필수 재정의 함수 자동 코드 추가 file 2021.03.29 194
255 버튼 이벤트 file 2021.03.31 205
254 안드로이드 - 컨텍스트 메뉴(Context Menu) 사용 예제 file 2021.04.01 207
253 안드로이드 액티비티 세로고정 2021.09.14 207
252 안드로이드 - 인텐트(Intent)를 활용한 액티비티(Activity) 생성 및 실행하기 file 2021.03.31 213
251 안드로이드 - 액티비티(Activity)와 액티비티 생명 주기(Activity Life Cycle) file 2021.04.01 225
250 안드로이드 - setContentView()와 레이아웃 전개자(LayoutInflater) 2021.04.01 227
249 안드로이드 가상머신 실행 속도 빠르게 하기 file 2021.03.31 228
248 버튼 생성, 이벤트 처리 file 2021.03.31 236
247 안드로이드 - 스타일 리소스(Style Resource) 사용하기 <style> file 2021.03.31 238
246 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 239
245 This Handler class should be static or leaks might occur 시 해결법 2020.12.14 240
244 Fragment를 통한 하단탭 예제1 file 2020.12.14 242
243 App 실행 file 2021.03.31 244
242 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 249
241 Virtual Device , 디자인 화면 file 2021.03.31 260
240 setContentView()와 레이아웃 전개자(LayoutInflater) 2021.03.31 266
239 안드로이드 - AsyncTask 구현 예제 file 2021.04.01 280
238 안드로이드 - 익명 클래스(Anonymous Class) 사용법 file 2021.03.31 281
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved