요구 사항
- Google Play 스토어를 통해 배포된 Android 앱
- OneSignal 계정
- Firebase 계정(무료)
cloudmessaging.messages.create및firebase.projects.get권한이 있는 Firebase Service Account 비공개 키- 없는 경우 아래 단계를 따라 Firebase Service Account 비공개 키를 생성하세요
- 이미 비공개 키가 있는 경우 기존 권한을 확인하세요
Firebase Service Account 비공개 키 생성 \
Firebase 프로젝트 생성 또는 열기
Firebase 콘솔로 이동하여 프로젝트를 생성하거나 선택하세요.

Firebase Cloud Messaging API V1 활성화
프로젝트 설정에서 Cloud Messaging 탭을 선택합니다.
Firebase Cloud Messaging API (V1) 상태를 확인합니다:

- Enabled(녹색 체크 표시)로 표시되면 다음 단계로 진행하세요.
- Disabled로 표시되면 3점 메뉴 > Google Cloud Console에서 API 관리를 클릭합니다. Google Cloud Console에서 Enable을 클릭하고 녹색 체크 표시와 “API Enabled”가 나타날 때까지 기다립니다.

지금이 Firebase Service Account에 필요한 권한이 있는지 확인하기에 좋은 시점입니다:
cloudmessaging.messages.createfirebase.projects.get
Service Account 비공개 키를 OneSignal에 업로드
OneSignal 대시보드에서:Android 설정 열기
**설정 > 푸시 및 인앱 > 플랫폼 > Google Android (FCM)**으로 이동합니다.활성화(처음 설정 시) 또는 설정(Android가 이미 구성된 경우)을 클릭합니다.

OneSignal 앱이 Firebase Cloud Messaging (V1)에 연결되었습니다. 다음으로 사용 중인 SDK에 맞는 모바일 SDK 설정을 따라 앱에서 OneSignal을 설치하고 초기화하세요.
FAQ
Service Account 권한은 어떻게 확인하나요? \
Service Account 권한은 Firebase 콘솔이 아닌 Google Cloud Console에서 관리됩니다. OneSignal에 업로드한 비공개 키의 Service Account는 다음 두 가지를 모두 가지고 있어야 합니다:cloudmessaging.messages.create— Firebase Cloud Messaging API Admin(roles/firebasecloudmessaging.admin)에 의해 부여됨.firebase.projects.get— Firebase Viewer(roles/firebase.viewer)에 의해 부여됨.
roles/firebase.admin), Editor 또는 Owner와 같은 더 광범위한 역할도 두 권한을 모두 포함하므로 요구 사항을 충족합니다. OneSignal 전용 Service Account의 경우, 비공개 키가 노출되었을 때의 영향을 제한하기 위해 위의 좁은 쌍을 선호하세요.
Service Account 비공개 키를 업로드한 후 OneSignal 대시보드에 Invalid request가 표시되면, 누락된 역할이 가장 일반적인 원인입니다.
Google Cloud Console에서 IAM 열기
Google Cloud Console에 로그인하고 Firebase 앱과 연결된 프로젝트를 선택한 후 IAM 및 관리 > 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를 사용 중이며 마이그레이션이 필요합니다.
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이 푸시를 보낼 수 있도록 승인합니다.
웹 푸시 설정
웹사이트용 푸시 알림을 구성합니다.


