Docs Menu
Docs Home
/ /
Atlas App Services
/

푸시 알림 [사용 중단됨]

이 페이지의 내용

  • 개요
  • 관리 인터페이스
  • 푸시 알림 보내기
  • 푸시 알림을 받도록 클라이언트 설정하기
  • 규칙 템플릿
  • 알림에는 구체적인 제목 필수
  • 알림은 특정 주제와 관련되어야 함
  • 알림은 제한된 사용자 ID 집합에게만 전송 가능
  • 푸시 알림 규칙
  • 알림 문서 필드

중요

타사 서비스 & 푸시 알림 사용 중단

App Services의 타사 서비스 및 푸시 알림은 함수에서 외부 종속성을 사용하는 HTTP 엔드포인트를 만들기 위해 더 이상 사용되지 않습니다.

웹훅은 동작에 대한 변경 없이 HTTPS 엔드포인트로 이름이 변경되었습니다. 기존 웹훅을 마이그레이션해야 합니다.

기존 서비스는,9월까지 30 계속2025 작동합니다.

타사 서비스 및 푸시 알림은 이제 더 이상 사용되지 않으므로 App Services UI에서 기본적으로 제거되었습니다. 기존 타사 서비스 또는 푸시 알림을 관리해야 하는 경우 다음을 수행하여 구성을 UI에 다시 추가할 수 있습니다.

  • 왼쪽 탐색의 Manage 섹션에서 App Settings를 클릭합니다.

  • Temporarily Re-Enable 3rd Party Services 옆의 토글 스위치를 활성화한 다음 변경 사항을 저장합니다.

Atlas App Services는 푸시 알림을 제공하기 위해 모바일(Android 및 iOS) 앱과 Firebase 클라우드 메시징(FCM) 서비스의 통합을 지원합니다. 사용자는 App Services 콘솔 내에서 알림 메시지를 구성하고 전송하고 클라이언트는 특정 주제로 전송된 메시지에 대해 Firebase Cloud Messaging (FCM)에 등록합니다.

App Services UI 의 Push Notifications 화면에서는 알림 초안을 쓰기 (write) 하고, 사용자에게 알림 을 보내고, 알림 규칙을 정의할 수 있습니다.

Push Notifications 화면에는 4개의 탭이 있습니다.

탭 이름
설명

Draft

임시 보관함 탭에서는 임시 보관된 메시지 목록을 볼 수 있습니다. 임시 보관된 메시지에 대해 다음 작업을 수행할 수 있습니다.

  • 임시 보관된 메시지 중복 작성

  • 임시 보관된 메시지 편집

  • 임시 보관된 메시지 삭제

Sent

보낸 메시지 탭에는 App Services가 등록된 클라이언트에게 이미 보낸 메시지가 표시됩니다. 여기에서 보낸 메시지 목록을 볼 수 있습니다. 보낸 메시지에 대해 다음 작업을 수행할 수 있습니다.

  • 보낸 메시지 재전송

  • 보낸 메시지 중복 작성

Config

구성 탭에서 FCM 자격 증명(발신자 ID 및 레거시 API 키)을 제공합니다.

Rules

선택적으로 푸시 알림 규칙을 지정하여 애플리케이션 전송하는 푸시 알림 의 유형을 제한할 수 있습니다.

Push Notifications 페이지에서 새 푸시 알림을 보낼 수 있습니다. Send New Notification 버튼을 클릭하여 Send New Notification 대화 상자를 표시합니다. 이 대화 상자에서는 알림 메시지, 라벨 및 관련 주제 대상을 제공합니다.

새 푸시 알림 보내기
클릭하여 확대

Android 애플리케이션에 푸시 알림을 통합하는 일반적인 프로세스는 다음과 같습니다.

  1. FCM에 대한 종속성을 추가합니다.

  2. 푸시 인스턴스를 만듭니다.

  3. push.registerDevice() 또는 push.registerDeviceAsync() 메서드를 사용하여 클라이언트 를 푸시 알림 에 등록합니다.

  4. FirebaseMessaging의 subscribeToTopic() 항목을 구독 합니다.

  5. 추상 FirebaseMessagingService를 확장하고 onMessageReceived() 메서드를 구현하는 클래스를 생성합니다. 이 클래스는 FCM과의 통신을 처리합니다.

  6. Android 프로젝트의 AndroidManifest.xml 파일을 업데이트하여 FirebaseMessagingService 파생 클래스와 애플리케이션의 수신자를 등록합니다.

Android 클라이언트와 FCM 통합에 대한 최신 정보 및 자세한 단계는 공식 Android에서 Firebase Cloud Messaging 클라이언트 앱 설정 가이드를 참조하세요.

iOS 앱에서 App Services와 함께 FCM을 사용하려면 다음과 같은 일반적인 단계를 따릅니다.

  1. Apple 개발자 회원 센터 를 통해 유효한 Apple 푸시 알림 서비스(APN) 인증서를 생성합니다. .

  2. GoogleService-Info.plist 파일을 XCode 프로젝트에 복사합니다.

  3. FCM을 구성하고 iOS 앱을 추가합니다. 앱을 등록하면 FCM에서 등록 토큰을 반환합니다.

iOS 클라이언트와 FCM 통합에 대한 최신 정보 및 자세한 단계는 공식 iOS에서 Firebase Cloud Messaging 클라이언트 앱 설정 가이드를 참조하세요.

{
"%%args.notification.title": "Test Notification Please Ignore"
}
{
"%%args.to": "%%values.validTopics"
}
{
"%%true": {
"%function": {
"name": "allUserIdsAreValid",
"arguments": [
"%%args.userIds"
]
}
}
}

참고

이 템플릿은 다음을 수행하는 allUserIdsAreValid라는 예시 함수를 호출합니다.

  1. 인수 userIds에 제공된 사용자 ID 목록을 허용합니다.

  2. 현재 사용자의 ID와 일치하는 사용자 문서를 MongoDB에 쿼리합니다.

  3. 제공된 전화번호와 사용자 문서에 나열된 번호를 비교합니다.

  4. 비교의 부울 결과를 반환합니다.

exports = function(toPhone) {
const mdb = context.services.get('mongodb-atlas');
const users = mdb.db('demo').collection('users');
const user = users.findOne({ _id: context.user.id });
return user.phoneNumber === toPhone;
}

푸시 알림에 대한 규칙을 지정하려면 Push Notifications 페이지에서 Rules 탭을 클릭하세요.

참고

Atlas App Services의 다른 서비스와 달리, 푸시 알림에 대한 규칙은 선택 사항입니다. 기본적으로 모든 푸시 알림이 허용됩니다. 그러나 규칙을 지정하면 해당 규칙에서 제한한 사항이 적용됩니다.

푸시 알림 규칙에서는 다음과 같은 인수를 허용합니다. "%%args" 확장을 통해 액세스할 수 있습니다.

필드
유형
설명

userIds

문자열 배열입니다.

메시지 수신자의 사용자 ID입니다.

to

문자열

메시지 수신자입니다. 값은 장치의 등록 토큰, 장치 그룹의 알림 키 또는 단일 주제(접두사 /topics/)일 수 있습니다.

registrationTokens

문자열 배열입니다.

멀티캐스트 메시지를 수신하는 장치에 대한 등록 토큰 목록입니다.

priority

문자열

알림의 우선 순위 입니다. 값은 "high" 또는 "normal" 입니다. FCM을 통한 HTTP JSON 메시지의 priority 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

collapseKey

문자열

접을 수 있는 메시지와 관련된 접기 키입니다. FCM을 통한 HTTP JSON 메시지의 collapse_key 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

contentAvailable

부울

메시지 수신 시 유휴 클라이언트 앱을 깨울지 여부를 결정하는 플래그입니다. FCM을 통한 HTTP JSON 메시지의 content_available 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

mutableContent

부울

알림 콘텐츠를 사용자에게 표시하기 전에 수정할 수 있는지 여부를 결정하는 플래그입니다. FCM을 통한 HTTP JSON 메시지의 mutable_content 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

timeToLive

int

장치가 오프라인 상태인 경우 메시지를 보존할 최대 시간(밀리초)입니다. 유효한 값 범위는 0~2419200입니다.

FCM을 통한 HTTP JSON 메시지의 time_to_live 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

data

JSON 문서

데이터 메시지의 페이로드입니다. data 문서가 사용자 지정 키-값 쌍으로 구성되어 있습니다. FCM을 통한 HTTP JSON 메시지의 data 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

notification

JSON 문서

알림을 위한notification 페이로드입니다. 문서 사전 정의된 필드로 구성되어 있습니다. notification FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.

다음 표에는 푸시 알림 규칙에 허용되는 필드로 사용할 수 있는 notification 문서의 필드가 나열되어 있습니다. 규칙에서 이러한 필드 중 하나에 액세스하려면 "%%args.notification.<field>"를 사용하세요.

필드
유형
설명

title

문자열

알림의 제목입니다. FCM을 통한 HTTP JSON 메시지의 title 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

body

문자열

알림 본문입니다. FCM을 통한 HTTP JSON 메시지의 body 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

sound

문자열

알림 수신 시 재생할 사운드입니다. FCM을 통한 HTTP JSON 메시지의 sound 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

clickAction

문자열

사용자가 알림을 클릭할 때 수행할 작업입니다. FCM을 통한 HTTP JSON 메시지의 click_action 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

bodyLocKey

문자열

본문 string 의 현지화를 위한 키입니다. FCM을 통한 HTTP JSON 메시지의 body_loc_key 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

bodyLocArgs

문자열

본문 string 에서 현지화를 위한 형식 지정자를 대체할 string 값입니다. FCM을 통한 HTTP JSON 메시지의 body_loc_args 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

titleLocKey

문자열

제목 string 의 현지화를 위한 키입니다. FCM을 통한 HTTP JSON 메시지의 title_loc_key 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

titleLocArgs

문자열

제목 string 에서 현지화를 위한 형식 지정자를 대체할 string 값입니다. FCM을 통한 HTTP JSON 메시지의 title_loc_args 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

icon

문자열

Android 전용입니다. 알림 아이콘입니다. FCM을 통한 HTTP JSON 메시지의 icon 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

color

문자열

Android 전용입니다. 아이콘 색상을 #rrggbb 형식으로 나타냅니다. FCM을 통한 HTTP JSON 메시지의 color 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

tag

문자열

Android 전용입니다. 지정된 경우 각 알림은 새 항목을 생성하지 않고 기존 항목을 지정된 태그로 바꿉니다. 설정하지 않으면 각 알림에 새 항목이 생성됩니다. FCM을 통한 HTTP JSON 메시지의 tag 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

badge

문자열

iOS에만 해당됩니다. gclient 앱 홈 아이콘의 배지입니다. FCM을 통한 HTTP JSON 메시지의 badge 옵션에 해당합니다. FCM HTTP 프로토콜 참조를 참조하세요.

돌아가기

파티션 기반 동기화 모드