Submit Search
Upload
[NEXT] GCM을 이용한 게시글 자동 갱신
•
32 likes
•
3,455 views
YoungSu Son
Follow
GCM을 이용한 자동글 갱신 하기 만들기
Read less
Read more
Technology
Slideshow view
Report
Share
Slideshow view
Report
Share
1 of 92
Download now
Download to read offline
Recommended
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경
YoungSu Son
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기
YoungSu Son
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
LGU+
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
YoungSu Son
안드로이드 오픈소스 그리고 패턴
안드로이드 오픈소스 그리고 패턴
YoungSu Son
Viewpager를활용한app만들기
Viewpager를활용한app만들기
DaeHee Jang
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
Amazon Web Services Korea
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업
NAVER D2
Recommended
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경
[NEXT] 화면 재갱신이 되는 안드로이드 앱 만들기 - 네트워크에 독립하는 구조로 변경
YoungSu Son
[NEXT] Andorid에 MVC 패턴 적용하기
[NEXT] Andorid에 MVC 패턴 적용하기
YoungSu Son
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
구글 기술을 이용한 모바일 클라우드 애플리케이션 개발
LGU+
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
[NEXT] Android 개발 경험 프로젝트 3일차 (Database)
YoungSu Son
안드로이드 오픈소스 그리고 패턴
안드로이드 오픈소스 그리고 패턴
YoungSu Son
Viewpager를활용한app만들기
Viewpager를활용한app만들기
DaeHee Jang
AWS DevDay 실습 가이드 - 콘테이너
AWS DevDay 실습 가이드 - 콘테이너
Amazon Web Services Korea
F3 네이버오픈api만드는매쉬업
F3 네이버오픈api만드는매쉬업
NAVER D2
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
YoungSu Son
06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치
봉조 김
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
Sung Woo Park
안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2
YoungSu Son
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
YoungSu Son
[NEXT] Android Profiler
[NEXT] Android Profiler
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
YoungSu Son
Baidu push 연동하기
Baidu push 연동하기
Choulhyouc Lee
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
YoungSu Son
SW 아키텍처 분석방법
SW 아키텍처 분석방법
YoungSu Son
모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
Fault Tolerance 패턴
Fault Tolerance 패턴
YoungSu Son
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
YoungSu Son
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
YoungSu Son
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
YoungSu Son
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
YoungSu Son
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
YoungSu Son
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
YoungSu Son
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
YoungSu Son
More Related Content
Viewers also liked
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
YoungSu Son
06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치
봉조 김
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
Sung Woo Park
안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2
YoungSu Son
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
YoungSu Son
[NEXT] Android Profiler
[NEXT] Android Profiler
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
YoungSu Son
Baidu push 연동하기
Baidu push 연동하기
Choulhyouc Lee
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
YoungSu Son
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
YoungSu Son
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
YoungSu Son
SW 아키텍처 분석방법
SW 아키텍처 분석방법
YoungSu Son
모바일앱개발 교육자료
모바일앱개발 교육자료
JinHyuck Churn
Viewers also liked
(14)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
FullStack 개발자 만들기 과정 소개 (Android + MEAN Stack + Redis 다루기)
06강 자바와 안드로이드 스튜디오 설치
06강 자바와 안드로이드 스튜디오 설치
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
2016년 #implude 안드로이드 단기속성 - 0. 안드로이드 스튜디오와 sdk 설정
안드로이드 오픈소스 어플리케이션 블록 2
안드로이드 오픈소스 어플리케이션 블록 2
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
오픈소스 Jedis 리펙토링 하기 (redis java 라이브러리)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android 개발 경험 프로젝트 1일차 (Widget, Linear Layout)
[NEXT] Android Profiler
[NEXT] Android Profiler
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
[NEXT] Android 개발 경험 프로젝트 5일차 (Actionbar, SideNavigation)
Baidu push 연동하기
Baidu push 연동하기
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Flask 로 Restful API 서버 만들기
[NEXT] Android Profiler 사용법
[NEXT] Android Profiler 사용법
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
[NEXT] Android 개발 경험 프로젝트 4일차 (Networking)
SW 아키텍처 분석방법
SW 아키텍처 분석방법
모바일앱개발 교육자료
모바일앱개발 교육자료
More from YoungSu Son
Fault Tolerance 패턴
Fault Tolerance 패턴
YoungSu Son
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
YoungSu Son
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
YoungSu Son
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
YoungSu Son
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
YoungSu Son
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
YoungSu Son
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
YoungSu Son
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
YoungSu Son
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
YoungSu Son
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
YoungSu Son
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
YoungSu Son
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
YoungSu Son
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
YoungSu Son
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
YoungSu Son
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
YoungSu Son
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
YoungSu Son
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + Genymotion
YoungSu Son
URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표
YoungSu Son
[NEXT] Nextgram Refactoring
[NEXT] Nextgram Refactoring
YoungSu Son
NIO로 구현 Reactor/ Proactor 성능 테스트
NIO로 구현 Reactor/ Proactor 성능 테스트
YoungSu Son
More from YoungSu Son
(20)
Fault Tolerance 패턴
Fault Tolerance 패턴
Clean Code, Software Architecture, Performance Tuning
Clean Code, Software Architecture, Performance Tuning
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
인공지능 식별추적시스템 실증랩 구축및 운영 - 평가모델 고도화
Prototype 패턴 (심만섭)
Prototype 패턴 (심만섭)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Chain of Responsibility (심수연 - 소프트웨어 마에스트로 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
Singleton 패턴 (김진영 - EVA, 소마에 10기)
실전 서버 부하테스트 노하우
실전 서버 부하테스트 노하우
생성 패턴 (강태우 - 소마에 10기)
생성 패턴 (강태우 - 소마에 10기)
초보 개발자/학생들을 위한 오픈소스 트랜드
초보 개발자/학생들을 위한 오픈소스 트랜드
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
DevOps 오픈소스 트랜드 (클라우드, 모바일 중심)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
모바일 앱 성능 분석 방법 101 (Mobile Application Performance Analysis Methodology 101)
DevOps 시대가 요구하는 품질확보 방법
DevOps 시대가 요구하는 품질확보 방법
클라우드 환경에서 알아야할 성능 이야기
클라우드 환경에서 알아야할 성능 이야기
Android 성능 지표와 Oreo 의 개선사항
Android 성능 지표와 Oreo 의 개선사항
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
안드로이드 Oreo의 변화와 모바일 앱/플랫폼의 적합한 성능 측정 방법
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
클라우드 & 모바일 환경에서 알아야 할 성능 품질 이야기
Android Studio 개발 셋팅 + Genymotion
Android Studio 개발 셋팅 + Genymotion
URQA 삼성 컨퍼런스 발표
URQA 삼성 컨퍼런스 발표
[NEXT] Nextgram Refactoring
[NEXT] Nextgram Refactoring
NIO로 구현 Reactor/ Proactor 성능 테스트
NIO로 구현 Reactor/ Proactor 성능 테스트
[NEXT] GCM을 이용한 게시글 자동 갱신
1.
DAY
2.
10
3.
GCM
4.
을
5.
활용하자 게시글
6.
갱신을
7.
동기화하기
8.
게시글을
9.
갱신하기
10.
위해서
11.
현재상황은?
12.
Refresh
13.
Button을
14.
클릭해서.
15.
Refresh
16.
Button을
17.
클릭해서. 버튼클릭 Proxy().getJSON()
Android
18.
Application Server JSON
19.
Data
20.
Refresh
21.
Button을
22.
클릭해서. 혹은,
23.
Service를
24.
통해
25.
주기적으로
26.
갱신중
27.
혹은,
28.
Service를
29.
통해
30.
주기적으로
31.
갱신중 Server Service
Proxy().getJSON() JSON
32.
Data
33.
이번
34.
수업
35.
에서는
36.
다른
37.
사용자가
38.
게시글을
39.
올렸을때
40.
41.
GCM을
42.
활용해서
43.
자동으로
44.
게시글을
45.
갱신하도록
46.
만들겠습니다.
47.
GCM
48.
(
49.
Google
50.
Cloud
51.
Messaging
52.
) Google
53.
Cloud
54.
Messaging
55.
Service는
56.
서버로부터
57.
안드로이드
58.
어플리케이션에
59.
메세지를
60.
보내는
61.
것을
62.
도와주는
63.
무료
64.
서비스이다.
65.
메세지는
66.
서버로부터
67.
안드로이드
68.
어플리케이션에게
69.
“새로운
70.
이메일
71.
알림”과
72.
같은
73.
통지
74.
정보를
75.
전달할
76.
수
77.
있다.
78.
GCM
79.
(
80.
Google
81.
Cloud
82.
Messaging
83.
) GCM
84.
구현체는
85.
GCM
86.
Connection
87.
Server,
88.
3rd-Party
89.
Server
90.
App,Client
91.
App
92.
으로
93.
구성되어있습니다.
94.
이것들을
95.
GCM의
96.
Components
97.
라고
98.
불립니다.
99.
100.
GCM
101.
Components GCM을
102.
사용가능한
103.
어플리케이션.
104.
2.2버전과
105.
Google
106.
Play
107.
Store가
108.
설치되어있어야
109.
하고
110.
만약
111.
4.0.4버전보다
112.
낮다면
113.
적어도
114.
한번
115.
Google
116.
계정에
117.
로그인
118.
되어있어야
119.
한다. GCM을
120.
구현한
121.
부분이
122.
작성된
123.
어플리케이션
124.
서버.
125.
3rd-party
126.
어플리케이션
127.
서버는
128.
GCM
129.
Connection
130.
Server를
131.
통해
132.
안드로이드
133.
어플리케이션에게
134.
데이터를
135.
전송한다.
136.
구글이
137.
제공한
138.
서버,
139.
3rd
140.
Party
141.
Server와
142.
메세지들을
143.
전달받을
144.
디바이스
145.
사이에서
146.
중계 하는
147.
역할 Client
148.
App
149.
3rd-party
150.
Application
151.
Server
152.
153.
GCM
154.
Connection
155.
Servers GCM의
156.
기본적인
157.
역할을
158.
실행하는
159.
객체들
160.
GCM
161.
Credentials 인증과
162.
올바른
163.
장소에
164.
메세지를
165.
보내기
166.
위한
167.
것 Sender
168.
ID 프로젝트
169.
넘버.
170.
API
171.
console에서
172.
획득한다.
173.
Sender
174.
ID는
175.
3rd
176.
Party
177.
Server에서
178.
메세지를
179.
보낼때
180.
사용하는
181.
아이디. Application
182.
ID 메세지를
183.
받기위해서
184.
등록하는
185.
아이디이다.
186.
어플리케이션의
187.
패키지
188.
이 름에
189.
의해서
190.
확인한다.
191.
메세지가
192.
올바른
193.
안드로이드
194.
어플리케이션에
195.
196.
타겟
197.
되는것을
198.
보증한다.
199.
Registration
200.
ID 메세지를
201.
받는것이
202.
허가된
203.
안드로이드
204.
어플리케이션에게
205.
GCM
206.
Connection
207.
Server가
208.
발행하는
209.
ID이다.
210.
사용자
211.
한명당
212.
한개씩
213.
부여가
214.
된다.
215.
3rd
216.
Party
217.
Server에서는
218.
메세지를
219.
주어야
220.
하는
221.
디바이스를
222.
인식 하기
223.
위해서
224.
사용한다.
225.
이제,
226.
구현을
227.
시작해봅시다.
228.
순서 1. Google
229.
Console에서
230.
API
231.
프로젝트를
232.
생성한다.
233.
2. Client
234.
Application을
235.
구현
236.
3. Application
237.
Server를
238.
구현
239.
GCM
240.
(
241.
Google
242.
Cloud
243.
Messaging
244.
) API
245.
Project를
246.
생성하면
247.
248.
구글이
249.
이미
250.
만들어서
251.
제공하는
252.
GCM
253.
Connection
254.
Servers에
255.
256.
3rd
257.
Party
258.
App
259.
Server(우리의
260.
서버)와
261.
Client
262.
App이
263.
접근할
264.
수
265.
있게
266.
됩니다.
267.
API
268.
프로젝트를
269.
생성한다. https://console.developers.google.com/project에
270.
접속한
271.
후
272.
Create
273.
Project를
274.
클릭한다
275.
API
276.
프로젝트를
277.
생성한다. New
278.
Project를
279.
만든다.
280.
API
281.
프로젝트를
282.
생성한다. Project의
283.
Dashboard로
284.
접속하면
285.
상위의
286.
Project
287.
Number를
288.
메모해둔다.
289.
290.
API
291.
프로젝트를
292.
생성한다. 다음으로,
293.
Google
294.
Cloud
295.
Messaging
296.
for
297.
Android
298.
API를
299.
동작시켜야합니다.
300.
API
301.
프로젝트를
302.
생성한다. 좌측의
303.
메뉴에서
304.
APIsauth를
305.
클릭합니다.
306.
API
307.
프로젝트를
308.
생성한다. APIs
309.
메뉴를
310.
클릭한후에
311.
Browse
312.
APIs에
313.
Google
314.
Cloud
315.
Messaging
316.
for
317.
Android를
318.
검색합니다
319.
API
320.
프로젝트를
321.
생성한다. Google
322.
Cloud
323.
Messaging
324.
for
325.
Android의
326.
STATUS를
327.
ON으로
328.
변경합니다.
329.
API
330.
프로젝트를
331.
생성한다. ON
332.
된것을
333.
확인!
334.
API
335.
프로젝트를
336.
생성한다. 이제,
337.
3rd-Party
338.
App
339.
Server에서
340.
사용할
341.
Key를
342.
획득해야
343.
합니다.
344.
API
345.
프로젝트를
346.
생성한다. Credentials
347.
메뉴에
348.
접속한후
349.
Create
350.
new
351.
Key를
352.
클릭
353.
API
354.
프로젝트를
355.
생성한다. Server
356.
Key를
357.
클릭
358.
API
359.
프로젝트를
360.
생성한다. Server
361.
IP
362.
Address를
363.
입력합니다.
364.
365.
GCM을
366.
테스트할
367.
경우
368.
0.0.0.0/0을
369.
입력합니다.
370.
API
371.
프로젝트를
372.
생성한다. API
373.
KEY
374.
획득!
375.
이것도
376.
저장해
377.
둡니다.
378.
API
379.
프로젝트를
380.
생성한다. 에서
381.
우리는
382.
API
383.
프로젝트를
384.
생성한후
385.
Project
386.
Number를
387.
획득,
388.
GCM
389.
API를
390.
가동,
391.
Server
392.
API
393.
Key를
394.
획득했습니다.
395.
순서 1. Google
396.
Console에서
397.
API
398.
프로젝트를
399.
생성한다.
400.
2. Client
401.
Application을
402.
구현
403.
3. Application
404.
Server를
405.
구현
406.
GCM
407.
(
408.
Google
409.
Cloud
410.
Messaging
411.
) 3rd-Party
412.
Server가
413.
생성한
414.
메세지를
415.
416.
GCM
417.
Connection
418.
Servers로부터
419.
전달받는
420.
Client
421.
App을
422.
작성하겠습니다.
423.
Client
424.
Application을
425.
구현 먼저
426.
Google
427.
Play
428.
Services
429.
SDK를
430.
셋팅하도록
431.
합니다.
432.
433.
Client
434.
Application을
435.
구현 SDK
436.
폴더
437.
위치 Android-SDK/extras/google/google_play_services/libproject에
438.
google-play-services_lib가
439.
존재하는지
440.
확인합니다. 혹시
441.
이
442.
디렉토리가
443.
없다면
444.
SDK
445.
Manager에서
446.
다운로드
447.
받도록합니다.
448.
Client
449.
Application을
450.
구현 Eclipse의
451.
File-Import
452.
메뉴를
453.
클릭.
454.
Existing
455.
Android
456.
Code
457.
into
458.
Workspace를
459.
클릭합니다.
460.
Client
461.
Application을
462.
구현 google-play-services_lib를
463.
찾은
464.
후
465.
Finish
466.
클릭
467.
(현재
468.
workspace에
469.
copy하도록
470.
합니다)
471.
Client
472.
Application을
473.
구현 프로젝트는
474.
임포트
475.
했으니
476.
이제
477.
Nextgram
478.
프로젝트가
479.
참조할
480.
수
481.
있도록
482.
해봅시다.
483.
Client
484.
Application을
485.
구현 Nextgram
486.
Project에
487.
우클릭을해서
488.
Properties를
489.
클릭
490.
Client
491.
Application을
492.
구현 좌측의
493.
Android메뉴를
494.
클릭한
495.
후
496.
Add..
497.
클릭
498.
Client
499.
Application을
500.
구현 google-play-services_lib를
501.
찾은
502.
후
503.
OK
504.
클릭!
505.
Client
506.
Application을
507.
구현 추가된것을
508.
확인합니다.
509.
Client
510.
Application을
511.
구현 build.gradle Android
512.
Studio
513.
에서는
514.
이전의
515.
작업들을
516.
하기위해
517.
dependencies에
518.
519.
complie
520.
‘com.google.android.gms:play-services:5.+’
521.
를
522.
추가해
523.
주시면
524.
됩니다.
525.
Client
526.
Application을
527.
구현 AndroidManifest.xml 프로젝트에
528.
의존성을
529.
추가해
530.
줍니다.
531.
532.
application
533.
태그
534.
아래에
535.
작성해
536.
주시면
537.
됩니다. 방금작업을해두면
538.
GCM뿐만아니라
539.
다른
540.
Google
541.
Play
542.
services
543.
APIs를
544.
사용할수있습니다.
545.
Client
546.
Application을
547.
구현 Google
548.
SDK를
549.
셋팅했으니
550.
본격적으로
551.
Client
552.
Code를
553.
작성해봅시다.
554.
Client
555.
Application을
556.
구현 AndroidManifest.xml 필요한
557.
권한을
558.
추가합니다.
559.
Client
560.
Application을
561.
구현 AndroidManifest.xml Application
562.
태그
563.
아래에
564.
GcmBroadcastReceiver를
565.
등록합니다.
566.
567.
Client
568.
Application을
569.
구현 권한을
570.
설정했으니,
571.
572.
현재
573.
어플리케이션이
574.
Google
575.
Play
576.
Services
577.
API를
578.
579.
사용할
580.
수
581.
있는지
582.
확인하겠습니다.
583.
Client
584.
Application을
585.
구현 HomeView.java checkGooglePlayServices라는
586.
메서드를
587.
작성합니다.
588.
이
589.
메서드는
590.
play
591.
service의
592.
지원
593.
여부에
594.
따라
595.
false,
596.
true값을
597.
반환합니다.
598.
Client
599.
Application을
600.
구현 HomeView.java 조건문을
601.
작성하여
602.
GooglePlayService를
603.
사용할
604.
수
605.
있을때의
606.
코드를
607.
작성합니다.
608.
Client
609.
Application을
610.
구현 이제
611.
GCM을
612.
사용하기
613.
위한
614.
인증을
615.
할것입니다.
616.
617.
Client
618.
Application을
619.
구현 [Project
620.
Number] HomeView.java 필요한
621.
변수들을
622.
미리
623.
설정해
624.
둡니다.
625.
Client
626.
Application을
627.
구현 HomeView.java pref와
628.
context
629.
변수에
630.
인스턴스를
631.
할당합니다.
632.
Client
633.
Application을
634.
구현 HomeView.java gcm
635.
객체에
636.
인스턴스를
637.
구한후
638.
Client를
639.
위한
640.
RegistrationId를
641.
가져옵니다.
642.
만약에
643.
없다면
644.
GCM
645.
Connection
646.
Server에
647.
요청해
648.
RegistrationId를
649.
가져옵니다.
650.
Client
651.
Application을
652.
구현 HomeView.java getRegistrationId()와
653.
registerInBackground()
654.
를
655.
구현해
656.
봅시다.
657.
Client
658.
Application을
659.
구현 HomeView.java getRegistrationId()는
660.
Sharef
661.
Preferences에
662.
저장된
663.
664.
registration
665.
ID를
666.
가져오는
667.
메서드입니다.
668.
없을경우
669.
“”을
670.
반환합니다.
671.
Client
672.
Application을
673.
구현 HomeView.java registerInBackground()는
674.
Google
675.
Connection
676.
Server로부터
677.
678.
registration
679.
ID를
680.
획득하는
681.
메서드입니다.
682.
AsyncTask를
683.
활용해
684.
구현하겠습니다.
685.
Client
686.
Application을
687.
구현 HomeView.java GoogleCloudMessaging객체의
688.
register(SENDER_ID)
689.
함수를
690.
통해
691.
692.
값을
693.
가져올
694.
수
695.
있습니다.
696.
697.
값을
698.
가져오면
699.
storeRegistrationId()
700.
메서드를
701.
통해
702.
ID값을
703.
저장하도록
704.
합니다.
705.
Client
706.
Application을
707.
구현 HomeView.java storeRegistrationId()를
708.
구현해봅시다.
709.
Client
710.
Application을
711.
구현 HomeView.java regid를
712.
받아
713.
SharedPreferences
714.
에
715.
저장하는
716.
단순한
717.
메서드입니다.
718.
Client
719.
Application을
720.
구현 Registration
721.
ID를
722.
획득했으니
723.
어플리케이션이
724.
GCM을
725.
활용하기
726.
위한
727.
준비작업은
728.
완료했습니다.
729.
다음은
730.
Server에서
731.
메세지가
732.
전달되었을때
733.
그것을
734.
처리하는
735.
로직을
736.
737.
만들도록
738.
하겠습니다.
739.
Client
740.
Application을
741.
구현 GcmBroadcastReceiver.java GcmBroadcastReceiver
742.
클래스를
743.
작성하도록합니다.
744.
이
745.
클래스는
746.
메세지가
747.
도착했을때
748.
사용자의
749.
어플리케이션을
750.
깨우고
751.
GcmIntentService를
752.
실행시키는
753.
역할을
754.
합니다.
755.
Client
756.
Application을
757.
구현 GcmBroadcastReceiver.java GcmIntentService를
758.
작성하도록
759.
하겠습니다.
760.
Client
761.
Application을
762.
구현 GcmIntentService.java GcmIntentService
763.
클래스를
764.
생성한
765.
후
766.
필요한
767.
변수를
768.
설정하고
769.
생성자를
770.
작성합니다.
771.
Client
772.
Application을
773.
구현 GcmIntentService.java onHandleIntent()를
774.
Override합니다.
775.
extras
776.
정보에서
777.
messageType을
778.
추출합니다.
779.
Client
780.
Application을
781.
구현 GcmIntentService.java TYPE이
782.
SEND_ERROR,
783.
DELETED,
784.
MESSAGE
785.
일때
786.
처리하도록
787.
로직을
788.
분리합니다.
789.
Client
790.
Application을
791.
구현 GcmIntentService.java MESSAGE
792.
타입일때
793.
게시글
794.
데이터를
795.
갱신하고
796.
사용자의
797.
어플리케이션에
798.
Notification을
799.
보냅니다.
800.
Client
801.
Application을
802.
구현 GcmIntentService.java sendNotification
803.
메서드를
804.
작성하도록
805.
하겠습니다.
806.
Client
807.
Application을
808.
구현 GcmIntentService.java NotificationManager
809.
객체를
810.
초기화합니다.
811.
Client
812.
Application을
813.
구현 GcmIntentService.java PendingIntent를
814.
작성해
815.
“알림”을
816.
클릭했을때
817.
HomeView.class가
818.
열리도록
819.
합니다.
820.
Client
821.
Application을
822.
구현 GcmIntentService.java NotificationCompat.Builder
823.
객체를
824.
활용해
825.
알림에
826.
표현될
827.
Icon,
828.
Title,
829.
Style,
830.
Text,
831.
ContextText를
832.
구성합니다.
833.
Client
834.
Application을
835.
구현 GcmIntentService.java 마지막으로
836.
PendingIntent를
837.
설정하고
838.
839.
NotificationManager.notify()를
840.
통해
841.
Notification을
842.
보냅니다.
843.
Client
844.
Application을
845.
구현 이로써,
846.
Client
847.
Application을
848.
모두
849.
구현했습니다.
850.
Client는
851.
Google
852.
Play
853.
Services
854.
SDK를
855.
셋팅했고
856.
Client가
857.
사용가능한
858.
상태인지
859.
확인할
860.
수
861.
있으며,
862.
863.
GCM과
864.
관련한
865.
인증을
866.
했습니다.
867.
또한,
868.
메세지가
869.
도착했을때
870.
게시글을
871.
재갱신하고
872.
873.
사용자에게
874.
알림(Notification)을
875.
표시할
876.
수
877.
있습니다.
878.
다음으로
879.
메세지를
880.
보내는
881.
3rd
882.
Party
883.
Server를
884.
구현해
885.
보겠습니다.
886.
순서 1. Google
887.
Console에서
888.
API
889.
프로젝트를
890.
생성한다.
891.
2. Client
892.
Application을
893.
구현
894.
3. Application
895.
Server를
896.
구현
897.
GCM
898.
(
899.
Google
900.
Cloud
901.
Messaging
902.
) Client
903.
App에게
904.
전달할
905.
메세지를
906.
GCM
907.
Connection
908.
Server에게
909.
전달하는
910.
3rd-Party
911.
Server를
912.
구현해
913.
보겠습니다.
914.
Application
915.
Server를
916.
구현 Server는
917.
파이썬을
918.
통해
919.
간단히
920.
구현하겠습니다.
921.
python
922.
2.x
923.
버전이
924.
설치되어있는
925.
환경입니다.
926.
Application
927.
Server를
928.
구현 터미널에서
929.
GCM에
930.
필요한
931.
라이브러리를
932.
설치하는
933.
명령을
934.
입력합니다.
935.
936.
pip
937.
install
938.
python-gcm https://github.com/geeknam/python-gcm
939.
Application
940.
Server를
941.
구현 Python을
942.
실행시키고
943.
from
944.
gcm
945.
import
946.
GCM
947.
이
948.
정상적으로
949.
작동하는지
950.
확인합니다.
951.
Application
952.
Server를
953.
구현 API_KEY
954.
=
955.
‘Project
956.
Number’
957.
Application
958.
Server를
959.
구현 json
960.
형태로
961.
data를
962.
구성합니다.
963.
Application
964.
Server를
965.
구현 gcm
966.
=
967.
GCM(API_KEY)
968.
Application
969.
Server를
970.
구현 reg_id
971.
=
972.
‘Application에서
973.
얻은
974.
Registration
975.
ID’ 실제로는
976.
storeRegistrationId를
977.
할때
978.
3rd
979.
Party
980.
Server로
981.
Registration
982.
ID를
983.
전송합니다
984.
Application
985.
Server를
986.
구현 gcm.plaintext_request(registration_id=reg_id,
987.
data=data)
988.
Application
989.
Server를
990.
구현 실제
991.
디바이스 위에
992.
알람이
993.
뜨는
994.
것을
995.
확인할
996.
수
997.
있습니다.
998.
Application
999.
Server를
1000.
구현 Geny
1001.
Motion 영상
1002.
section
1003.
6 GCM을
1004.
활용하자 게시글
1005.
갱신을
1006.
동기화하기 마무리
1007.
Refresh
1008.
Button을
1009.
클릭해서
1010.
게시글을
1011.
갱신하는것은 버튼클릭 Proxy().getJSON()
Android
1012.
Application Server JSON
1013.
Data 최신글을
1014.
유지할
1015.
수
1016.
없습니다.
1017.
혹은,
1018.
Service를
1019.
통해
1020.
주기적으로
1021.
갱신하는것은 Server Service
Proxy().getJSON() JSON
1022.
Data 항상
1023.
최신글이라고
1024.
보장할
1025.
수
1026.
없습니다.
1027.
하지만
1028.
GCM을
1029.
활용한다면?
1030.
GCM을
1031.
사용한다면 게시글
1032.
작성 GCM
1033.
Server 게시글이
1034.
작성됬네? 게시글이
1035.
작성
1036.
되었을때
1037.
GCM
1038.
Server에게
1039.
알려 *GCM
1040.
Server는
1041.
GCM
1042.
Connection
1043.
Server가
1044.
아닌
1045.
GCM을
1046.
구현한
1047.
3rd
1048.
Party
1049.
Server입니다.
1050.
GCM을
1051.
사용한다면 Server 게시글
1052.
작성 GCM
1053.
Server Proxy().getJSON() JSON
1054.
Data 등록된
1055.
기계들아
1056.
1057.
데이터를
1058.
요청해! 각
1059.
디바이스들에게
1060.
1061.
게시글
1062.
재갱신을
1063.
요청할
1064.
수
1065.
있습니다.
1066.
Server GCM을
1067.
사용한다면 게시글
1068.
작성 GCM
1069.
Server Proxy().getJSON() JSON
1070.
Data 등록된
1071.
기계들아
1072.
1073.
데이터를
1074.
요청해! 게시글이
1075.
작성될때
1076.
다른
1077.
디바이스에게
1078.
재갱신을
1079.
요청하므로
1080.
1081.
Refresh,
1082.
Service를
1083.
활용한
1084.
방법에
1085.
비해
1086.
가장
1087.
최신
1088.
데이터임을
1089.
보장할
1090.
수
1091.
있습니다.
1092.
추가사항 게시글
1093.
작성 GCM
1094.
Server 게시글이
1095.
작성됬네? 이
1096.
부분을
1097.
실제로
1098.
작성하진
1099.
않았지만,
1100.
게시글을
1101.
작성했을때
1102.
1103.
gcm.plaintext_request()를
1104.
사용하는
1105.
것과
1106.
같은
1107.
로직을
1108.
추가해
1109.
준다면
1110.
위의
1111.
부분을
1112.
만족할
1113.
수
1114.
있습니다.
1115.
게시글
1116.
작성 GCM
1117.
Server 등록된
1118.
기계들아
1119.
1120.
데이터를
1121.
요청해! 추가사항 어떤
1122.
디바이스에게
1123.
전달해야하는지는
1124.
Registration
1125.
ID를
1126.
통해
1127.
인식할
1128.
수
1129.
있습니다.
1130.
1131.
이번
1132.
예제에서는
1133.
안드로이드
1134.
로그에서
1135.
직접
1136.
추출해서
1137.
사용했지만
1138.
실제
1139.
GCM을
1140.
서비스에
1141.
적용하기
1142.
위해선
1143.
클라이언트에서
1144.
Reg
1145.
ID를
1146.
획득할때
1147.
1148.
GCM
1149.
Server로
1150.
ID를
1151.
전송하는
1152.
로직을
1153.
추가해야
1154.
할
1155.
것입니다. *GCM
1156.
Server는
1157.
GCM
1158.
Connection
1159.
Server가
1160.
아닌
1161.
GCM을
1162.
구현한
1163.
3rd
1164.
Party
1165.
Server입니다.
1166.
감사합니다.
Download now