메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
157 안드로이드 - 색상 리소스 (Color Resource) 추가 </color> file 2021.03.31 551
156 안드로이드 - 뷰페이저(ViewPager) 구현 file 2021.04.02 323
155 안드로이드 - 버튼 이벤트 처리방법 정리 (리스너 구현 및 이벤트 핸들링) file 2021.03.31 343
154 안드로이드 - 문자열 배열 리소스 추가하기 <string-array> file 2021.03.31 811
153 안드로이드 - 문자열 리소스를 활용한 다국어 지원 file 2021.03.31 282
152 안드로이드 - 문자열 리소스(Resource) 추가 및 참조하기 file 2021.03.31 906
151 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) file 2021.04.01 324
150 안드로이드 - 리스트뷰(ListView) 구현 file 2021.04.01 490
149 안드로이드 - 리사이클러뷰 (RecyclerView) notifyDataSetChanged 실행 시 깜빡 거리는 현상 2021.04.02 748
148 안드로이드 - 리사이클러 뷰(RecyclerView) 구현 file 2021.04.01 390
147 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 319
146 안드로이드 - 랠러티브 레이아웃(Relative Layout) file 2021.03.29 239
145 안드로이드 - 네비게이션 드로어(Navigation Drawer)를 활용하여 슬라이드 메뉴 구현하기 file 2021.04.01 1869
144 안드로이드 - 날짜 및 시간 정보 입력받기 (DatePickerDialog / TimePickerDialog) file 2021.04.01 1772
143 안드로이드 - 갤러리에서 이미지 가져오기 2021.04.02 666
142 안드로이드 - Text 입력 이벤트 처리 - TextWatcher file 2021.04.02 557
141 안드로이드 - switch를 사용법 및 구현 file 2021.04.02 1282
140 안드로이드 - SQLiteDatabase 구현하기 file 2021.04.01 249
139 안드로이드 - SnackBar를 사용해 팝업창 띄우기 file 2021.03.31 282
138 안드로이드 - SharedPreferences에 앱 정보 저장하기 file 2021.04.02 395
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved