문서 메뉴

문서 홈Atlas App Services

푸시 알림 [사용 중단됨]

이 페이지의 내용

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

중요

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

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

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

기존 서비스는 2024년 11월 1일까지 계속 운영됩니다.

타사 서비스 및 푸시 알림은 이제 더 이상 사용되지 않으므로 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 화면에서는 알림 초안을 작성하고, 사용자에게 알림을 보내고, 알림 규칙을 정의할 수 있습니다.

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

탭 이름
설명
Draft

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

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

  • 임시 보관된 메시지 편집

  • 임시 보관된 메시지 삭제

Sent

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

  • 보낸 메시지 재전송

  • 보낸 메시지 중복 작성

Config
구성 탭에서 FCM 자격 증명(발신자 ID 및 레거시 API 키)을 제공합니다.
Rules
선택적으로 푸시 알림 규칙 을 지정하여 애플리케이션에서 전송하는 푸시 알림의 유형을 제한할 수 있습니다.

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

새 푸시 알림 보내기
클릭하여 확대
{
"%%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" priority FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
collapseKey
문자열
접을 수 있는 메시지와 관련된 접기 키입니다.collapse_key FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
contentAvailable
부울
메시지 수신 시 유휴 클라이언트 앱을 깨울지 여부를 결정하는 플래그입니다.content_available FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
mutableContent
부울
알림 콘텐츠를 사용자에게 표시하기 전에 수정할 수 있는지 여부를 결정하는 플래그입니다.mutable_content FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
timeToLive
int

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

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

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

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

필드
유형
설명
title
문자열
알림의 제목입니다.title FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
body
문자열
알림 본문입니다.body FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
sound
문자열
알림 수신 시 재생할 사운드입니다.sound FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
clickAction
문자열
사용자가 알림을 클릭할 때 수행할 작업입니다.click_action FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
bodyLocKey
문자열
본문 문자열의 현지화를 위한 키입니다.body_loc_key FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
bodyLocArgs
문자열
본문 문자열에서 현지화를 위한 형식 지정자를 대체할 문자열 값입니다.body_loc_args FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
titleLocKey
문자열
제목 문자열의 현지화를 위한 키입니다.title_loc_key FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
titleLocArgs
문자열
제목 문자열에서 현지화를 위한 형식 지정자를 대체할 문자열 값입니다.title_loc_args FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
icon
문자열
Android 전용입니다. 알림 아이콘입니다.icon FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
color
문자열
Android 전용입니다. 아이콘 색상을 #rrggbb 형식으로 나타냅니다.color FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
tag
문자열
Android 전용입니다. 지정된 경우 각 알림은 새 항목을 생성하지 않고 기존 항목을 지정된 태그로 바꿉니다. 설정하지 않으면 각 알림에 새 항목이 생성됩니다.tag FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
badge
문자열
iOS에만 해당됩니다. gclient 앱 홈 아이콘의 배지입니다.badge FCM을 통한 HTTP JSON 메시지의 옵션에 해당합니다.FCM HTTP 프로토콜 참조를 참조하세요.
← 파티션 기반 동기화