Disabled로 표시되면 3점 메뉴 > Google Cloud Console에서 API 관리를 클릭합니다. Google Cloud Console에서 Enable을 클릭하고 녹색 체크 표시와 “API Enabled”가 나타날 때까지 기다립니다.
Google Cloud Console에서 활성화된 Firebase Cloud Messaging API
지금이 Firebase Service Account에 필요한 권한이 있는지 확인하기에 좋은 시점입니다:
cloudmessaging.messages.create
firebase.projects.get
새로 생성된 Firebase 프로젝트는 보통 기본 Service Account에 이러한 권한을 가지고 있습니다. 확실하지 않거나 오래된 프로젝트로 작업하는 경우, 진행하기 전에 확인하세요. 자세한 내용은 Service Account 권한은 어떻게 확인하나요?를 참조하세요.
3
새 비공개 키 생성
다시 프로젝트 설정으로 돌아가 Service accounts 탭을 선택하고 새 비공개 키 생성을 클릭합니다.
Firebase 내 Service Accounts 섹션
팝업에서 키 생성을 클릭하여 확인합니다.
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)에 의해 부여됨.
Firebase Admin(roles/firebase.admin), Editor 또는 Owner와 같은 더 광범위한 역할도 두 권한을 모두 포함하므로 요구 사항을 충족합니다. OneSignal 전용 Service Account의 경우, 비공개 키가 노출되었을 때의 영향을 제한하기 위해 위의 좁은 쌍을 선호하세요.Service Account 비공개 키를 업로드한 후 OneSignal 대시보드에 Invalid request가 표시되면, 누락된 역할이 가장 일반적인 원인입니다.
”This configuration is for a different Firebase Project”가 표시되는 이유는 무엇인가요?
이 오류는 업로드한 비공개 키가 다른 Firebase 프로젝트(다른 Sender ID)에 속할 때 발생합니다.해결책: 원래 Firebase 프로젝트의 비공개 키를 사용하세요. 사용할 수 없는 경우 앱 ID와 함께 support@onesignal.com에 문의하세요. 프로젝트를 전환하면 푸시 토큰이 재설정됩니다. 사용자는 푸시를 다시 받으려면 앱을 다시 열어야 합니다.
Firebase Cloud Messaging이란 무엇이며, OneSignal에는 왜 Service Account 비공개 키가 필요한가요? \
**Firebase Cloud Messaging (FCM)**은 Android 기기에 푸시 알림을 전달하는 Google의 서비스입니다. Service Account는 OneSignal이 Firebase 프로젝트에 인증하기 위해 사용하는 Google 신원이며, 비공개 키는 신원을 증명하는 JSON 파일입니다. 비공개 키를 업로드하면 OneSignal이 Firebase를 통해 사용자를 대신해 푸시를 전송할 권한을 부여받게 됩니다. 자세한 내용은 Google의 Service Account 문서를 참조하세요.