1. 시작하기 전에
이 Codelab에서는 사용자가 포그라운드에서 앱을 사용하든 백그라운드에서 앱을 사용하든 상관없이 사용자와 소통하는 기능을 추가하는 방법을 알아봅니다.
전제 조건
없음
무엇을 배울 것인가
- Android 앱에 Firebase 추가
- FCM 및 FIAM 종속성 추가
- 앱에 테스트 FCM 메시지 보내기
- 앱에 테스트 FIAM 메시지 보내기
필요한 것
- 안드로이드 스튜디오 4.1
- Android 기기 또는 에뮬레이터
2. 시작하기
샘플 코드 받기
명령줄에서 GitHub 저장소를 복제합니다.
시작 앱 가져오기
Android 스튜디오에서 codelab-fcm-and-fiam
디렉터리( ). 이는 이전 단계( 파일 > 열기 > .../codelab-fcm-and-fiam)에서 복제된 것입니다.
이제 Android Studio에서 FcmAndFiam 프로젝트를 열어야 합니다. google-services.json 파일 누락에 대한 경고가 표시되더라도 걱정하지 마세요. 다음 단계에서 추가될 예정입니다.
3. Firebase 콘솔 프로젝트 생성
프로젝트에 Firebase 추가
- Firebase 콘솔 로 이동합니다.
- 프로젝트 추가를 선택합니다.
- 프로젝트 이름을 선택하거나 입력합니다.
- Firebase 콘솔의 나머지 설정 단계를 따른 다음 프로젝트 만들기 (또는 기존 Google 프로젝트를 사용하는 경우 Firebase 추가)를 클릭합니다.
- 새 프로젝트의 개요 화면에서 Android 아이콘을 클릭하여 설정 워크플로를 시작하세요.
- Codelab의 패키지 이름(
com.google.firebase.codelab.fcmandfiam
)을 입력하세요.
앱에 google-services.json 파일 추가
패키지 이름을 추가한 후 앱 등록을 클릭하고 google-services.json 다운로드를 클릭하여 Firebase Android 구성 파일을 얻은 다음 google-services.json 파일을 프로젝트의 app
디렉터리에 복사합니다. 파일이 다운로드되면 건너뛰기를 클릭하여 콘솔에 표시된 다음 단계를 진행할 수 있습니다(build-android-start 프로젝트에서 이미 완료됨).
앱에 Google 서비스 플러그인 추가
google-services 플러그인은 google-services.json 파일을 사용하여 Firebase를 사용하도록 애플리케이션을 구성합니다. google-services 플러그인 종속성과 플러그인 자체는 각각 프로젝트 및 앱 수준 빌드 파일에 이미 추가되어 있어야 합니다. 다음 항목을 확인하십시오.
build.gradle
buildscript {
...
dependencies {
...
classpath 'com.google.gms:google-services:4.3.8'
}
}
앱/build.gradle
plugins {
...
id: 'com.google.gms.google-services'
}
종속성 추가
FCM 및 FIAM에는 다음 종속성이 필요합니다. 이러한 종속성은 이미 앱 수준 빌드 파일에 추가되어 있습니다. 다음 종속성이 추가되었는지 확인합니다.
앱/build.gradle
dependencies {
...
implementation platform('com.google.firebase:firebase-bom:28.4.2')
implementation 'com.google.firebase:firebase-analytics'
implementation 'com.google.firebase:firebase-messaging'
implementation 'com.google.firebase:firebase-inappmessaging-display'
}
프로젝트를 Gradle 파일과 동기화하세요
앱에서 모든 종속 항목을 사용할 수 있도록 하려면 이 시점에서 프로젝트를 Gradle 파일과 동기화해야 합니다. Android Studio 도구 모음에서 파일 > Gradle 파일과 프로젝트 동기화를 선택합니다.
4. 로그 식별자
Firebase 클라우드 메시징과 Firebase 인앱 메시징은 모두 식별자를 사용하여 앱에 메시지를 보냅니다. FCM은 등록 토큰을 사용하고 FIAM은 설치 ID를 사용합니다.
-
MainActivity.kt
에서 TODO를 아래 코드로 바꿔 메시지를 보내는 데 필요한 식별자를 기록합니다.
FirebaseMessaging.getInstance().token.addOnCompleteListener { regTokenTask ->
if (regTokenTask.isSuccessful) {
Log.d(TAG, "FCM registration token: ${regTokenTask.result}")
} else {
Log.e(TAG, "Unable to retrieve registration token",
regTokenTask.exception)
}
}
FirebaseInstallations.getInstance().id.addOnCompleteListener { installationIdTask ->
if (installationIdTask.isSuccessful) {
Log.d(TAG, "Firebase Installations ID: ${installationIdTask.result}")
} else {
Log.e(TAG, "Unable to retrieve installations ID",
installationIdTask.exception)
}
}
- Android 장치를 연결하고 실행 (
) Android 스튜디오 도구 모음에서. 로그 식별자 버튼을 탭하면 FCM 등록 토큰과 Firebase 설치 ID가 logcat에 기록됩니다. 출력은 다음과 같아야 합니다.
D/FcmAndFiam: Firebase Installations ID: emMc5...AsJfb
FCM registration token: emMc5LART6GV7...r0Q
5. 테스트 FCM 메시지 보내기
FCM 메시지는 Firebase 콘솔과 FCM REST API 모두에서 보낼 수 있습니다. 이 Codelab에서는 FCM 알림 메시지를 작성하여 기기로 보냅니다. 알림 메시지는 시스템의 알림 영역에 표시되는 메시지입니다. 다음 방법으로 테스트 FCM 메시지를 보냅니다.
- 앱이 백그라운드에 있는지 확인하세요(홈 화면으로 이동).
- Firebase 콘솔로 이동하여 왼쪽 탐색 메뉴에서 클라우드 메시징을 선택하세요.
- 첫 번째 메시지 보내기를 선택하세요.
- 메시지 제목과 본문을 추가한 다음 테스트 메시지 보내기를 클릭합니다.
- FCM 등록 토큰을 추가한 후 테스트를 클릭하세요.
- 기기의 디스플레이 알림을 관찰하세요
- 알림을 탭하면 앱이 열립니다.
6. 테스트 FIAM 메시지 보내기
Firebase 인앱 메시지는 다양한 사용자 이벤트의 결과로 트리거될 수 있습니다. 테스트 메시지는 앱 열기 이벤트를 사용하여 인앱 메시지를 트리거합니다. 다음 방법으로 테스트 FIAM 메시지를 보냅니다.
- 앱이 백그라운드에 있는지 확인하세요(홈 화면으로 이동).
- Firebase 콘솔로 이동하여 왼쪽 탐색 메뉴에서 인앱 메시지를 선택하세요.
- 첫 번째 캠페인 만들기를 선택하세요.
- 상단 배너 캠페인을 선택하고 메시지 제목과 본문을 입력하세요.
- 기기에서 테스트를 클릭하세요.
- 설치 ID를 추가하고 테스트를 클릭하세요.
- 앱 다시 열기
- 앱 메시지에서 관찰
7. 축하합니다
축하합니다. FCM 및 FIAM 메시지를 모두 성공적으로 보냈습니다. 이제 사용자가 앱을 포그라운드에서 사용하든, 앱이 백그라운드에서 사용하든 상관없이 사용자와 소통하는 방법을 알게 되었습니다.
추가 읽기
무엇 향후 계획
- 자신의 Android 앱에서 사용자에게 메시지를 보냅니다.