● 생성한 프로젝트 클릭
● 프로젝트에서 사용할 "앱 추가"
● Android 선택
● 3가지 내용 작성
(바로 아래에 자세하게 설명하니 잘 따라와 주세요)
1-1. Android 패키지이름
- FCM을 사용할 안드로이드 프로젝트의 "AndroidManifest.xml"의 package를 확인하여 입력
1-2. 앱 닉네임(선택사항)
- 나중에 AOS, IOS앱들을 더 등록할텐데 많은 것들중에서 앱을 구분할 수 있는 이름을 입력
(어떻게 입력해도 아무런 영향이 없습니다.)
1-3. 디버그 서명 인증서 SHA-1(선택사항)
- Android Studio에서 하단 Terminal에서 다음을 입력 " ./gradlew signingReport"
(PW필요시: "android" 입력("제외))
./gradlew signingReport
(자주 발생하는 문제)
*만약 zsh: permission denied: ./gradlew 오류가 나타난다면
1. 터미널에 chmod +x gradlew 입력후
2. 다시 zsh: permission denied: ./gradlew입력
실행이 완료되면 다음과 같이 나오는데 SHA1의 값을 Firebase에 입력 (보안상 일부만 보여드립니다)
2-1. 구성 파일 다운로드
- 설명글에 나와있는 것처럼 google-services.json을 다운받아 우측에 있는 해당 프로젝트 경로에 파일을 옮겨줍니다.
(해당위치에 정확하게 추가하지 않으면 제대로 동작하지 않을 수 있으니 참고해주세요!)
3-2. Firebase SDK추가
- 아래의 그림처럼 build.gradle(project)와 build.gradle(Module)의 파일에 FCM관련 코드를 추가.
● 여기까지 잘 따라오셨다면 Firebase의 앱 설정이 끝났습니다.
Build.gradle 코드
build.gradle(project)
// Top-level build file where you can add configuration options common to all sub-projects/modules.
//FCM
buildscript {
dependencies {
classpath 'com.google.gms:google-services:4.3.10'
}
}
plugins {
id 'com.android.application' version '7.1.1' apply false
id 'com.android.library' version '7.1.1' apply false
id 'org.jetbrains.kotlin.android' version '1.5.30' apply false
}
task clean(type: Delete) {
delete rootProject.buildDir
}
build.gradle(Module)
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
//FCM
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdk 32
defaultConfig {
applicationId "com.example.fcm_kotlin"
minSdk 23
targetSdk 32
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = '1.8'
}
buildFeatures{
viewBinding true
}
}
dependencies {
implementation 'androidx.core:core-ktx:1.7.0'
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
//FCM
implementation platform('com.google.firebase:firebase-bom:29.1.0')
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-messaging-ktx' //FCM-push
}
글 정리 & 소스코드
[정리]
1. Firebase 프로젝트 추가방법: https://minchanyoun.tistory.com/106
2. Firebase Android App 등록방법: https://minchanyoun.tistory.com/107
질문 또는 궁굼한 부분은 댓글을 남겨주세요! 친절하게 답변드리겠습니다!
응원의 댓글은 저에게 큰 힘이 된답니다! :)
즐거운 하루되세요!
깃허브 보러 놀러오세요 👇 (맞팔환영)
https://github.com/younminchan
'🖥 Programming > 📱 Android (Kotlin)' 카테고리의 다른 글
[Android] Execution failed for task ':app:processDebugGoogleServices'. 오류 해 (0) | 2022.03.31 |
---|---|
[Android][kotlin] 진동 울리기 (0) | 2022.03.29 |
[Android][kotlin] 코드로 가로, 세로회전 처리하기 (0) | 2022.03.29 |
[Android][kotlin] Firebase Crashlytics 연동방법 (0) | 2022.03.24 |
[Android] Firebase 프로젝트 추가방법 (0) | 2022.03.24 |
[Android][kotlin] 상단 바[타이틀(Title), 바(Bar) , 탭(Tab)] 없애기 (0) | 2022.03.16 |
[Android][kotlin] Firebase DynamicLink (동적링크) 만들기 - 2편 (0) | 2022.02.28 |
[Android][kotlin] Firebase DynamicLink (동적링크) 만들기 - 1편 (2) | 2022.02.28 |