학원수업/안드로이드

학원 53일차 복습(6/4)

파워욱 2018. 6. 4. 19:49

이론





FCM(Firebase Cloude Messaging): 구글에서 제공하는 Server와 Client app 간의 푸쉬 메세지를 보낼수 있는 서비스

Android & iOS & Mobile Web 등의 다양한 플랫폼을 모두 커버한다


GCM(FCM의 예전버전) 과 FCM의 차이

GCM 의 Client 단 구현시에 번거로웠던 등록 및 구독 로직을 FCM 라이브러리 안에 포함시켜 개발자가 별도로 개발하지 않아도 된다.

또한, Firebase Analytics insight 의 기능을 활용하여 특정 타겟층에 push 전송이 가능해졌다.

앞으로 구글에서는 새로운 기능들을 모두 FCM 쪽에만 추가하고, GCM 에는 추가하지 않을 것이라고 한다. 따라서, FCM SDK 사용을 강력히 권장하고 있다.

GCM 은 결국 FCM 의 일부이며 GCM 으로 기 구현된 서비스들도 FCM 으로 동일하게 구현이 가능하다고 한다.


안드로이드에서 서비스와 스레드의 차이 :

서비스 : UI와는 상관없이 백그라운드에서 실행되는 기능이다(프로그램이 종료되어도 별도의 스택에서(백그라운드에서) 계속 돌아감)

스레드 : (UI==메인스레드)와 병렬적으로 실행되는 기능이다


(복습)백엔드란? :  사용자가 볼수없는 영역, 즉 프론트엔드에서 전달된 데이터 및 서버관리를 하는일을 말한다.



[클라이언트 제작해보기]


***Firebase 가이드 영상(예전 버전인 것을 참고) : https://youtu.be/cNPCgJW8c-E

***Firebase 레퍼런스 사이트 : https://firebase.google.com/docs/android/setup#add_the_sdk



★[서버 구축]

파일다운

https://mvnrepository.com/artifact/com.ganyo/gcm-server/1.0.2 -> jar 다운

https://mvnrepository.com/artifact/com.googlecode.json-simple/json-simple/1.1.1 -> bundle 다운


***자바에는 서버키***

***JSP에는 인스턴스키(휴대폰 key)***




실습


fcm_main.xml

MyFirebaseInstanceIDService.java

MyFirebaseMessagingService.java

string.xml

MainActivity.java

GcmService.java