메뉴 건너뛰기

조회 수 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
번호 제목 날짜 조회 수
237 안드로이드 - Serializable를 활용한 다른 액티비티에 객체(Object) 전달하기 file 2021.03.31 281
236 안드로이드 - 문자열 리소스를 활용한 다국어 지원 file 2021.03.31 282
235 안드로이드 - SnackBar를 사용해 팝업창 띄우기 file 2021.03.31 282
234 안드로이드 - 옵션 메뉴 (Option Menu) 구현 방법 file 2021.04.01 283
233 초기화면 페이지를 만들어보자. splash 페이지 제작 file 2020.12.14 285
232 Java에서 XML 불러와서 동적 변화 주기 file 2021.03.31 288
231 [하이브리드앱] 링크를 웹뷰가 아닌 새로운 브라우저에서 열기 2021.09.30 293
230 패키지명을 한꺼번에 변경하기 (Refactor) file 2020.12.14 295
229 줄바꿈 문자 치환 2020.12.14 298
228 앱 번들(Android App Bundle) 만들기 file 2021.09.14 305
227 android.support.v4.content.FileProvider not found file 2020.12.14 308
226 안드로이드 - 리니어 레이아웃 (Linear Layout) file 2021.03.29 319
225 안드로이드 - 토스트(Toast) 메시지 사용하기. file 2021.03.31 321
224 안드로이드 - 뷰페이저(ViewPager) 구현 file 2021.04.02 323
223 안드로이드 - 명시적 인텐트(Explicit Intent)와 암시적 인텐트 (Implicit Intent) file 2021.04.01 324
222 안드로이드 앱배포하기 apk 만들기 file 2020.12.14 326
221 안드로이드 arrayList 를 Json으로 변환 / jsonarry file 2021.03.29 326
220 Firebase - 푸시알림 보내기 file 2021.09.30 339
219 Volley 이용시에 한글 깨질때 UTF-8로 변경 2020.12.14 343
218 안드로이드 - 버튼 이벤트 처리방법 정리 (리스너 구현 및 이벤트 핸들링) file 2021.03.31 343
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 ... 13 Next
/ 13

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

© k2s0o1d4e0s2i1g5n. All Rights Reserved