본문 바로가기

안드로이드

FCM 토큰 이용해서 상대방에게 메세지 날리기 (feat.Retrofit) 1편

728x90

오늘은 Firebase FCM 을 이용해서 상대방에게 메세지 날리는것을 해보겠습니다 . 

먼저 Firebase를 이용하는것이니 Firebase에 자신의 앱을 등록하고 build gradle을 추가해줘야겠죠? 

 

https://firebase.google.com/ 홈페이지에 가서 콘솔로 이동을 합니다 . 

그런다음에 프로젝트 추가를 해줍니다 . 

프로젝트 이름은 자신이 하고싶은 이름으로 설정을 해주시면 되겠습니다 . 

그다음에 화면에 안드로이드 이미지버튼을 눌러서 프로젝트에 자신의 앱을 추가해줘야합니다. 

 

안드로이드 패키지이름을 써주시고 ( 자신의 안드로이드 스튜디오 메니페스트 최상단에 package 이름을 그대로 복사해서 넣어주셔야됩니다 . (예시. com.example.example))

그 밑에 앱 닉네임은 편한대로 설정을 해주세요 .

 

그리고 앱 디버그 서명 인증서는 어떻게 확인하냐면 안드로이드 스튜디오 오른쪽부분 보시면 

캡쳐 이미지에 표시된 gradle 누르시고  android - signingReport 를 더블클릭하시면 

SHA1 에 나와있는 부분을 복사하여서 넣어주시면 됩니다. 

 

 

그 뒤에 구성파일을 다운로드 해주세요 . 

그 뒤에 설명에 나와있는것처럼 build.gradle(module) ,build.gradle(project)를 추가해주시면 됩니다 . 

그 뒤에 콘솔로 이동을 해주시면 되겠습니다 . 

 

이제 Firebase에서 할 일은 70 퍼센트 마친거 같습니다 . 

 

다시 안드로이드스튜디오로 돌아와서 android로 되어있는 것을 project로 바꾼다음 아까 다운받았던

google-services.json을 넣어주세요. 

 

자 이제 build.gradle (module)로 가셔서 디펜던시에 

// firebase FCM

implementation 'com.google.firebase:firebase-messaging-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'androidx.work:work-runtime:2.5.0'


//코루틴
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.5'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.5'

 

// Gson
implementation 'com.google.code.gson:gson:2.8.6'
// Retrofit2
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
// Retrofit2-Gson converter
implementation 'com.squareup.retrofit2:converter-gson:2.7.2'
implementation 'com.squareup.retrofit2:converter-scalars:2.1.0'

 

를 추가해주셔야됩니다 좀 많죠?? (사실 이중에 필요없는 부분도있을수 있습니다) 

저희가 이번에 해볼것은 보시는것과같이 Firebase FCM을 하고 Retrofit 을 하고 코루틴을 사용해서 상대방에게 

메세지를 보낼것이기 때문에 조금 추가할게 많습니다 . (코루틴에 대해서는 알아서 공부해보세요)

 

자 이제 마지막 . manifests로 가셔서 

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />

를 추가해주세요 . 

 

여기까지 해주셨다면 이제 준비가 완료되었습니다 .

여기까지 1탄을 마치도록 하겠습니다 .