chrome.gcm을 사용하여 최종 사용자에게 메시지를 보내고 받을 수 있습니다. Firebase Cloud Messaging (FCM)을 기반으로 빌드되므로 설정해야 하는 외부 서비스를 사용합니다. 이 방법에서는 확장 프로그램에서 작동하도록 하는 데 필요한 모든 단계를 안내합니다.
chrome.gcm
는 여전히 지원되지만 푸시 표준이 나오기 10년 전에 만들어졌습니다. 일반적으로 확장 프로그램별 API 대신 웹 표준을 사용하는 것이 가장 좋습니다. chrome.gcm
를 사용해야 할 구체적인 이유가 없다면 푸시를 사용하는 것이 좋습니다.
기본 요건
chrome.gcm
를 사용하려면 Firebase 계정을 설정해야 합니다.
계정을 만든 후에는 Firebase Console을 열고 사용할 기존 프로젝트를 선택하거나 확장 프로그램용 새 프로젝트를 만드세요.
Cloud Messaging의 설정 페이지로 이동합니다.
이 프로젝트에 기존 클라우드 메시지 계정이 있는 경우 나열된 숫자 발신자 ID를 복사합니다.
클라우드 메시지를 사용 설정하지 않은 경우 Google Cloud 내의 프로젝트에 Firebase Cloud Messaging API를 사용 설정해야 합니다. 다음 이미지에서 Firebase 설정에 이 페이지로 바로 연결되는 링크가 있는 위치를 확인할 수 있습니다.
사용 설정되면 Cloud Messaging의 설정 페이지로 돌아가 발신자 ID를 복사합니다.
chrome.gcm 구성
이제 Firebase의 발신자 ID를 확보했으므로 메시지를 수신 대기하도록 확장 프로그램을 구성할 수 있습니다. 먼저 확장 프로그램의 manifest.json
에 gcm
권한을 추가했는지 확인합니다.
{
"manifest_version": 3,
...
"permissions": ["gcm"]
이제 chrome.gcm
API에 액세스할 수 있습니다. chrome.gcm.register
를 호출하여 푸시 메시지를 수신 대기하도록 등록할 수 있습니다.
메시지 리슨
확장 프로그램에서 발신자 ID를 등록하면 수신 메일을 처리하는 코드를 추가해야 합니다.
Firebase가 없는 Firebase
chrome.gcm
는 항상 Firebase를 통과하지만 Firebase를 외부 푸시 메시지 공급업체의 프록시로 작동하도록 구성할 수 있습니다. 일반적으로 공급업체는 Chrome 확장 프로그램 지원을 명시적으로 나열하지만 Firebase의 기존 푸시 알림을 지원하는 모든 공급업체가 작동합니다. 제공업체에 Firebase의 기존 푸시 알림 지원이 표시되면 사용해 보세요. 문제가 발생할 경우 제공업체 지원팀에서는 적용되는 제한사항을 명확히 설명할 수 있어야 합니다.
채널 및 주제
chrome.gcm
이(가) 기존 Firebase Messaging API를 사용하고 있습니다. 기존 API는 메시지 채널을 지원하지 않으므로 이 부분이 중요합니다. 푸시된 모든 메시지는 모든 클라이언트로 전송됩니다. 사용자의 확장 프로그램이 메일의 하위 집합에만 관심이 있는 경우 직접 필터링해야 합니다.
Firebase는 무료 계정으로 시작하지만 일정 사용량 기준을 초과하면 요금이 청구됩니다. 특정 그룹에 메시지를 보낼 계획이라면 클라이언트 측 필터링에 보장되는 비용보다 더 많은 비용이 발생할 수 있습니다. 이 문제를 해결하려면 여러 프로젝트를 만들어 개별 채널을 복제하면 됩니다(채널당 프로젝트 1개 및 발신자 ID 1개). 특정 확장 프로그램은 최대 100개의 발신자 ID를 등록할 수 있습니다.
또는 채널 지원이 필요하거나 Firebase를 거치지 않고 푸시 알림을 사용하려면 Push API를 사용하면 됩니다.