메인 콘텐츠로 건너뛰기
Google Play 스토어를 통해 Android 앱을 다운로드한 사용자에게 푸시 알림을 보내려면, Firebase Cloud Messaging(FCM) Service Account 비공개 키를 생성하여 OneSignal에 업로드해야 합니다.
이 안내는 다음에 적용되지 않습니다:
  • 웹 푸시. Android 기기는 FCM Service Account 없이도 웹사이트나 PWA를 구독할 수 있습니다. 웹 푸시 설정을 참조하세요.
  • Huawei App Gallery를 통해 배포되는 Huawei 앱. Huawei 승인을 참조하세요.

요구 사항


Firebase Service Account 비공개 키 생성 \

1

Firebase 프로젝트 생성 또는 열기

Firebase 콘솔로 이동하여 프로젝트를 생성하거나 선택하세요.
Firebase 콘솔에서 사용 가능한 프로젝트 목록을 표시
2

Firebase Cloud Messaging API V1 활성화

프로젝트 설정에서 Cloud Messaging 탭을 선택합니다.
Cloud Messaging 탭을 표시하는 Firebase 프로젝트 설정, Firebase Cloud Messaging API (V1) 상태는 Enabled
Firebase Cloud Messaging API (V1) 상태를 확인합니다:
  • Enabled(녹색 체크 표시)로 표시되면 다음 단계로 진행하세요.
  • Disabled로 표시되면 3점 메뉴 > Google Cloud Console에서 API 관리를 클릭합니다. Google Cloud Console에서 Enable을 클릭하고 녹색 체크 표시와 “API Enabled”가 나타날 때까지 기다립니다.
Google Cloud Console의 Firebase Cloud Messaging API 페이지에 녹색 체크 표시와 함께 API Enabled 상태가 표시됨
지금이 Firebase Service Account에 필요한 권한이 있는지 확인하기에 좋은 시점입니다:
  • cloudmessaging.messages.create
  • firebase.projects.get
새로 생성된 Firebase 프로젝트는 보통 기본 Service Account에 이러한 권한을 가지고 있습니다. 확실하지 않거나 오래된 프로젝트로 작업하는 경우, 진행하기 전에 확인하세요. 자세한 내용은 Service Account 권한은 어떻게 확인하나요?를 참조하세요.
3

새 비공개 키 생성

다시 프로젝트 설정으로 돌아가 Service accounts 탭을 선택하고 새 비공개 키 생성을 클릭합니다.
Firebase 프로젝트 설정의 Service accounts 탭에 새 비공개 키 생성 버튼이 표시됨
팝업에서 키 생성을 클릭하여 확인합니다.
Service Account에 대한 새 비공개 키 생성을 위한 Firebase 확인 대화 상자
다운로드된 비공개 키에는 민감한 자격 증명이 포함되어 있습니다. 공유하거나 버전 관리에 체크인하지 마세요.
.json 파일을 안전한 위치에 저장하세요. 다음 섹션에서 필요합니다.

Service Account 비공개 키를 OneSignal에 업로드

OneSignal 대시보드에서:
1

Android 설정 열기

**설정 > 푸시 및 인앱 > 플랫폼 > Google Android (FCM)**으로 이동합니다.활성화(처음 설정 시) 또는 설정(Android가 이미 구성된 경우)을 클릭합니다.
플랫폼 탭에 Google Android (FCM) 타일과 설정 버튼이 표시된 OneSignal 푸시 및 인앱 설정
2

Service Account 비공개 키 업로드

파일 선택을 클릭하고 이전 섹션에서 저장한 .json 비공개 키를 선택합니다.
Service Account JSON 파일 업로드 필드와 파일 선택 버튼이 있는 OneSignal Google Android (FCM) 구성 화면
3

저장 및 계속

Save & Continue를 클릭합니다. OneSignal이 비공개 키를 검증하고 설정 흐름의 다음 단계로 이동하며, 여기에서 SDK를 선택합니다.
대시보드에 Invalid request 또는 기타 오류가 표시되면 Service Account에 하나 이상의 필수 역할이 누락되었을 가능성이 있습니다. Service Account 권한은 어떻게 확인하나요?를 참조하세요.
OneSignal 앱이 Firebase Cloud Messaging (V1)에 연결되었습니다. 다음으로 사용 중인 SDK에 맞는 모바일 SDK 설정을 따라 앱에서 OneSignal을 설치하고 초기화하세요.

FAQ

Service Account 권한은 어떻게 확인하나요? \

Service Account 권한은 Firebase 콘솔이 아닌 Google Cloud Console에서 관리됩니다. OneSignal에 업로드한 비공개 키의 Service Account는 다음 두 가지를 모두 가지고 있어야 합니다:
  • cloudmessaging.messages.createFirebase Cloud Messaging API Admin(roles/firebasecloudmessaging.admin)에 의해 부여됨.
  • firebase.projects.getFirebase Viewer(roles/firebase.viewer)에 의해 부여됨.
Firebase Admin(roles/firebase.admin), Editor 또는 Owner와 같은 더 광범위한 역할도 두 권한을 모두 포함하므로 요구 사항을 충족합니다. OneSignal 전용 Service Account의 경우, 비공개 키가 노출되었을 때의 영향을 제한하기 위해 위의 좁은 쌍을 선호하세요. Service Account 비공개 키를 업로드한 후 OneSignal 대시보드에 Invalid request가 표시되면, 누락된 역할이 가장 일반적인 원인입니다.
1

Google Cloud Console에서 IAM 열기

Google Cloud Console에 로그인하고 Firebase 앱과 연결된 프로젝트를 선택한 후 IAM 및 관리 > IAM으로 이동합니다.
2

Service Account 찾기

주체 이메일을 업로드한 비공개 키의 client_email 필드와 일치시킵니다.
3

누락된 역할 추가

연필(편집) 아이콘을 클릭한 다음 다른 역할 추가를 클릭하여 아직 할당되지 않은 역할을 추가합니다.
4

저장

저장을 클릭합니다. IAM 변경 사항이 적용되는 데 몇 분이 걸릴 수 있습니다.

”This configuration is for a different Firebase Project”가 표시되는 이유는 무엇인가요?

이 오류는 업로드한 비공개 키가 다른 Firebase 프로젝트(다른 Sender ID)에 속할 때 발생합니다. 해결책: 원래 Firebase 프로젝트의 비공개 키를 사용하세요. 사용할 수 없는 경우 앱 ID와 함께 support@onesignal.com에 문의하세요. 프로젝트를 전환하면 푸시 토큰이 재설정됩니다. 사용자는 푸시를 다시 받으려면 앱을 다시 열어야 합니다.

Sender ID를 변경할 수 있나요?

예, 하지만 기존 사용자에게 영향을 미칩니다. 기기 토큰은 원래 Sender ID에 묶여 있습니다. 이를 변경하면 기존 토큰이 무효화됩니다.
사용자가 앱을 다시 열고 새 토큰을 생성할 때까지 푸시 알림 수신이 중단됩니다.
도움이 필요한 경우 앱 ID와 함께 support@onesignal.com에 문의하세요.

OneSignal에서 Sender ID가 보이지 않는 이유는 무엇인가요?

Firebase 서버 키가 AIz...처럼 보이면 오래된 Google Cloud Messaging(GCM) 설정을 사용 중일 가능성이 큽니다. 새 Firebase 프로젝트를 만들고 Service Account 비공개 키를 업로드하세요.

FCM V1로 전환할 때 코드를 업데이트해야 하나요?

앱 또는 SDK 변경은 필요하지 않습니다. 이는 대시보드만 업데이트하는 것입니다.

FCM V1로 전환하는 마감일은 언제인가요?

Google의 레거시 FCM API는 이제 완전히 사용 중단되었습니다. 여전히 레거시 API를 사용하고 있다면, 즉시 FCM V1로 마이그레이션해야 합니다.

어떤 앱이 여전히 레거시 API를 사용하고 있는지 어떻게 확인할 수 있나요?

각 앱에 대해 View an app API를 호출하고 응답의 fcm_v1_service_account_json 필드를 확인하세요:
  • 존재하고 비어있지 않음: 앱이 FCM V1을 사용 중입니다.
  • 누락되었거나 비어있음: 앱이 FCM V1로 구성되지 않았습니다. 해당 앱이 Android 푸시를 전송하는 경우, 여전히 레거시 API를 사용 중이며 마이그레이션이 필요합니다.
앱과 앱 ID를 먼저 나열하려면 View apps API를 사용하세요.

Firebase Cloud Messaging이란 무엇이며, OneSignal에는 왜 Service Account 비공개 키가 필요한가요? \

**Firebase Cloud Messaging (FCM)**은 Android 기기에 푸시 알림을 전달하는 Google의 서비스입니다. Service Account는 OneSignal이 Firebase 프로젝트에 인증하기 위해 사용하는 Google 신원이며, 비공개 키는 신원을 증명하는 JSON 파일입니다. 비공개 키를 업로드하면 OneSignal이 Firebase를 통해 사용자를 대신해 푸시를 전송할 권한을 부여받게 됩니다. 자세한 내용은 Google의 Service Account 문서를 참조하세요.

관련 페이지

모바일 SDK 설정

Android 앱에서 OneSignal SDK를 설치하고 초기화합니다.

모바일 푸시 설정

Android, iOS 및 기타 모바일 플랫폼별 설정 단계.

Huawei 푸시 설정

Huawei App Gallery를 통해 배포되는 Huawei 앱에 OneSignal이 푸시를 보낼 수 있도록 승인합니다.

웹 푸시 설정

웹사이트용 푸시 알림을 구성합니다.