본문 바로가기

안드로이드

어플리케이션 FCM (Firebase Cloud Messaging) 연동

본 포스팅에서는 구글의 FCM (Firebase Cloud Messaging) 서비스에 대하여 포스팅하고 안드로이드 어플리케이션과 FCM의 연동방법에 대하여 포스팅한다. FCM의 연동을 통해서 향 후 포스팅일 지속적으로 하겠지만 연동을 할 경우 푸시메시지, 로그인인증, 실시간 데이터베이스와 같은 다양한 기능을 활용할 수 있으며, 프론트엔드 개발에 있어서 백엔드 개발 없이 간단한 서비스를 구현이 가능하다.


FCM 이란 Firebase Cloud Messaging 으로 과거 GCM (Google Cloud Messaging) 서비스 였던 것을 구글이 Firebase를 인수하여 FCM으로 변경하였다. 현재 알려진바로는 2019년까지 과거 사용했던 GCM 서비스를 무료 FCM으로 모두 변경하는 작업을 진행하겠다고 밝혔다.

앞서 설명했던것처럼 FCM을 사용하면 프론트엔드 개발자가 백엔드 서버지식과 서버없이 간단한 서버리스 시스템을 설계할 수 있게된다. 바로 FCM에서 대부분의 핵심 기능을 무료로 제공하고 있기 때문이다. 이러한 장점으로 FCM은 풀스택으로 가는 시작점이라 할 수 있으며 그 중요성으로 본 포스팅에서는 처음으로 FCM과 안드로이드 스튜디오를 통한 어플리케이션 연동을 하도록 하겠다.


구글 FCM 접속 링크: https://console.firebase.google.com



링크를 따라 Firebase 홈페이지로 들어가게 되면 위의 이미지와 같이 프로젝트 추가 부분이 생긴다 프로젝트 추가버튼을 클릭하면 간단히 다음 스텝과 같은 화면이 뜨게된다. (단 본 이미지 화면은 구글계정을 로그인 한 후 모습다. 로그인을 한후에 콘솔로 이동해야지 본 페이지처럼럼 보이게된다.)





프로젝트 추가 버튼을 클릭한 후 나오는 화면이다. 나의 경우는 프로젝트 이름을 FCMtest로 지었고, 애널리스틱 위치는 대한민국과 us-central로 설정했다. 현재 Firebase 위치는 대한민국에 없나보다...... 이후 프로젝트 만들기를 클릭하면 3초정도 이후 다음 스텝으로 진행이 가능하다.




방금 생성한 프로젝트의 화면이다. 좌측 상단에는 사용할 수 있는 FCM의 다양한 기능들이 존재한다. 이러한 기능을 사용하기 위해서는 안드로이드 스튜디오로 만든 예제 프로젝트와의 연동이 필요하다. 본 포스팅은 단순 안드로이드 스튜디오와 FCM의 연동만을 하기 때문에 안드로이드 스튜디오로 단순 프로젝트만 생성해서 hello world 만 출력되는 어플만 있어도 연동이 가능하다. 다음 단계를 진행전에 안드로이드 스튜디오로 아무 프로젝트를 만들어주기를 바란다.



앱 등록 단계이다. Android 패키지 이름부분만 채워주고 앱 닉네임, 디버그 서명 인증서는 선태가사항이다 Android 패키지 이름의 경우는 안드로이드 스튜디오로 만든 프로그램의 패키지 이름이다. 패키지 이름은 MainActivity.java 에 가서 제일 상단에 보면 package com.~~~~ 로 나와 있을 것이다. package 부분을 뺀 나머지를 복사 붙여넣어주면 된다. 이후 앱등록 하면 첫번째 스텝 완료!!


두번째로 해당 어플리케이션을 Firebase에 등록해주는 단계이다. 정말 친절하게 잘 나와 있으니 그대로 따라하면된다. google-service.json을 다운로드한 후에 프로젝트 수준의 app에 다운로드 받은 파일을 추가해준 후 다음을 클릭하면 된다.



세번째로 어플리케이션에 Firebase SDK를 추가해주는 단계이다. 역시 또한 너무 잘나와있어서 그대로 따라하면되지만 설명을 하도록 하겠다. gradle에 설명처럼 추가해주면 된다. 추가해주는 곳은 프로젝트 수준의 gradle과 앱 수준의 gradle에 추가해주면 된다. 현재 구글에서 제공하는 버전은 firebase-core:16.0.1 과 같은 버전을 제공하지만 안드로이드 스튜디오에 복사 붙여넣기 하면은 최신버전을 인식하여 버전을 최신으로 수정해주라는 말이 나온다. 버전을 수정 안해줘도 연결에는 문제 없지만 최신버전으로 항상 유지해주는것이 권장사항이기 때문에 현재 포스팅을 하는 시점에서 나는 아래와 같이 최신버전으로 수정해준다음 sync 했다.



sync 후 다음을 클릭하면 앱을 실행하였는지 설치 확인이라고 뜨며 완료가 안뜨는 경우가 있다. 나는 이 단계에서 엄청난 삽질을 했다....... 방법은 간단하다... 그냥 타겟 스마트폰을 연결한 후 프로젝트 빌드로만 끝내는것이 아니고 Run 'app' 을 해준 후 스마트폰에 인스톨해야지 구글 firebase와 통신하여 앱등록이 완료된다.... 별것도 아닌거로 삽질했으니 이 부분에서 다른사람들은 빠르게 해결하길 바란다...



아래의 경우 프로젝트 run 'app' 후에 해당 어플리케이션을 fcm에 등록하면 나오는 페이지이다. 이제 fcm에 해당 어플리케이션 등록에 성공하였다!!!




본 포스팅에서는 FCM을 사용하기에 앞서 어플리케이션과 FCM의 연동 연결 방법에 대하여 포스팅 하였다. 이후 포스팅에서는 다양한 FCM의 기능들을 활용하는 포스팅들을 진행해볼까 한다. 다음 포스팅에서는 FCM의 Cloud Messaging 기능을 사용해서 손쉽게 push 메시지를 날려주는 방법에 대하여 포스팅 하도록 하겠다!!!