푸시 활성화 및 푸시 구독
이 참조 문서에서는 Braze의 푸시 활성화 및 푸시 구독 상태 개념을 다루며, iOS, Android, 웹 간의 근본적인 동작 차이를 설명합니다.
푸시 구독 상태
Braze의 ‘푸시 구독 상태’는 푸시 알림 수신에 대한 사용자의 글로벌 선호도를 식별합니다. 구독 상태는 사용자 기반이므로 개별 앱에 한정되지 않습니다. 구독 상태는 푸시 알림을 타겟팅할 사용자를 결정할 때 유용한 플래그가 됩니다.
사용자의 푸시 구독 상태는 사용자의 모든 디바이스를 포함한 전체 사용자 프로필에 적용됩니다.
다음 구독 상태 옵션이 있습니다: Subscribed, Opted-In, 및 Unsubscribed.
기본적으로 사용자가 푸시를 통해 메시지를 받으려면 푸시 구독 상태가 Subscribed 또는 Opted-In이어야 하며, 포그라운드 푸시가 활성화되어 있어야 합니다. 메시지를 작성할 때 필요한 경우 이 설정을 재정의할 수 있습니다.
| 옵트인 상태 | 설명 |
|---|---|
Subscribed |
Braze에서 사용자 프로필을 생성할 때의 기본 푸시 구독 상태입니다. |
Opted-In |
사용자가 푸시 알림 수신을 명시적으로 선호한다고 밝혔습니다. Braze는 사용자가 OS 수준의 푸시 프롬프트를 수락하면 사용자의 옵트인 상태를 자동으로 Opted-In로 이동합니다.Android 12 이하 사용자에게는 적용되지 않습니다. |
Unsubscribed |
사용자가 애플리케이션 또는 브랜드가 제공하는 기타 방법을 통해 푸시 수신을 명시적으로 취소한 경우. 기본적으로 Braze 푸시 캠페인은 푸시에 대해 Subscribed 또는 Opted-in인 사용자만을 대상으로 합니다. |
Braze는 사용자의 푸시 구독 상태를 Unsubscribed 로 자동 변경하지 않습니다. 사용자의 푸시 구독 상태가 Unsubscribed인 경우 사용자의 Foreground Push Enabled 세분화 필터는 false임을 기억하세요.
푸시 구독 상태 업데이트하기
사용자의 푸시 구독 상태를 업데이트하는 다음 방법을 검토하세요:
자동 옵트인(기본값)
기본적으로 Braze는 사용자가 앱에 대한 푸시 알림을 처음 승인할 때 사용자의 푸시 구독 상태를 Opted-In으로 설정합니다. 또한 사용자가 이전에 푸시 권한을 비활성화했다가 시스템 설정에서 다시 활성화하는 경우에도 Braze는 이 작업을 수행합니다.
이 기본 동작을 비활성화하려면 Android Studio 프로젝트의 braze.xml 파일에 다음 속성정보를 추가하세요.
1
<bool name="com_braze_optin_when_push_authorized">false</bool>
Braze Swift SDK 버전 7.5.0부터는 Xcode 프로젝트의 AppDelegate.swift 파일에 optInWhenPushAuthorized 구성을 추가하여 이 동작을 비활성화하거나 추가로 사용자 지정할 수 있습니다.
1
2
3
4
configuration.optInWhenPushAuthorized = false // disables the default behavior
let braze = Braze(configuration: configuration)
AppDelegate.braze = braze
SDK 통합
웹, Android 또는 iOS에서 setPushNotificationSubscriptionType 방법을 사용하여 Braze SDK로 사용자의 구독 상태를 업데이트할 수 있습니다. 예를 들어, 이 방법을 사용하여 앱에서 사용자가 수동으로 푸시 알림을 사용하거나 사용하지 않도록 설정할 수 있는 설정 페이지를 만들 수 있습니다.
REST API
You can update a user’s subscription state with the Braze REST API using the /users/track endpoint to update their push_subscribe attribute.
푸시 구독 상태 확인

Braze를 사용하여 사용자의 푸시 구독 상태를 확인할 수 있는 방법은 다음과 같습니다:
- 사용자 프로필: You can access individual user profiles through the Braze dashboard on the User Search page. 이메일 주소, 전화번호 또는 외부 사용자 ID를 통해 사용자의 프로필을 찾은 후 참여 탭을 선택하여 사용자의 가입 상태를 확인하고 수동으로 조정할 수 있습니다.
- REST API 내보내기: You can export individual user profiles in JSON format using the export Users by segment or Users by identifier endpoints. Braze는 각 기기에 대한 푸시 활성화 정보를 포함하는 푸시 토큰 객체를 반환합니다.
iOS 사용자 동작 및 푸시 상태
다음 표는 다양한 사용자 동작이 Braze에서 iOS 푸시 활성화, 포그라운드 또는 백그라운드 푸시 등록, 푸시 구독 상태에 어떤 영향을 미치는지 보여줍니다. 사용자가 앱을 설치하고 첫 번째 세션을 시작하면, 일반적으로 첫 번째 행에 표시된 상태가 됩니다. 이후 각 동작은 이러한 값 중 일부를 업데이트할 수 있지만 다른 값은 업데이트하지 않을 수 있습니다.
| 사용자 동작 | Foreground Push Enabled |
Foreground Push Enabled for App |
푸시 등록 유형 | 푸시 구독 상태 |
|---|---|---|---|---|
| 사용자가 앱을 설치하고 세션을 기록함 | false* |
업데이트되지 않음 | 백그라운드 | Subscribed |
| 사용자가 iOS 기본 푸시 프롬프트를 받고 Allow를 선택함 | true |
true |
포그라운드 | Opted-In** |
| 사용자가 iOS 기본 푸시 프롬프트를 받고 Don’t Allow를 선택함 | false |
업데이트되지 않음 | 백그라운드 | 업데이트되지 않음 |
| 사용자가 기기 설정에서 푸시를 활성화하고 세션을 기록함 | true |
true |
포그라운드 | Opted-In** |
| 사용자가 기기 설정에서 푸시를 비활성화하고 세션을 기록함 | false |
false |
백그라운드 | 업데이트되지 않음 |
| 사용자가 앱을 삭제함 | 업데이트되지 않음 | 푸시 토큰 만료 시 업데이트됨 | 푸시 토큰 만료 시 업데이트됨 | 업데이트되지 않음 |
* 앱이 임시 푸시를 사용하지 않는 경우, 사용자가 푸시 알림을 허용할 때까지 Foreground Push Enabled는 false입니다. 앱이 임시 푸시를 사용하는 경우, 첫 번째 세션 시작 시 Foreground Push Enabled는 true입니다. 자세한 내용은 임시 승인 및 조용한 푸시를 참조하세요.
** Braze Swift SDK 버전 7.5.0부터 optInWhenPushAuthorized 구성 속성이 푸시 권한이 승인될 때 푸시 구독 상태를 자동으로 Opted-In으로 설정할지 여부를 제어합니다. 자세한 내용은 푸시 구독 상태 업데이트를 참조하세요.
푸시 권한
모든 푸시 지원 플랫폼(iOS, 웹, Android)은 OS 수준의 시스템 프롬프트를 통한 명시적 옵트인을 요구하며, 아래에 설명된 약간의 차이가 있습니다.
사용자의 결정은 최종적이며 거부 후에는 다시 요청할 수 없으므로, 푸시 프라이머 인앱 메시지를 사용하는 것이 옵트인율을 높이는 중요한 전략입니다.
기본 OS 푸시 권한 프롬프트
| 플랫폼 | 스크린샷 | 설명 |
|---|---|---|
| iOS | ![]() |
임시 푸시 권한을 요청할 때는 적용되지 않습니다. |
| Android | ![]() |
이 푸시 권한은 Android 13에서 도입되었습니다. Android 13 이전에는 푸시를 보내는 데 권한이 필요하지 않았습니다. |
| 웹 | ![]() |
Android
Android 13 이전에는 푸시 알림을 보내는 데 권한이 필요하지 않았습니다. Android 12 이하에서는 Braze가 자동으로 푸시 토큰을 요청할 때 첫 번째 세션에서 모든 사용자가 Subscribed로 간주됩니다. 이 시점에서 사용자는 해당 기기에 대한 유효한 푸시 토큰과 Subscribed의 기본 구독 상태로 푸시 활성화 상태가 됩니다.
Android 13부터는 사용자에게 푸시 권한을 요청하고 승인을 받아야 합니다. 앱에서 적절한 시점에 사용자에게 수동으로 권한을 요청할 수 있지만, 그렇지 않으면 앱이 알림 채널을 생성할 때 자동으로 프롬프트가 표시됩니다.
iOS

앱에서 임시 푸시 또는 승인된 푸시를 요청할 수 있습니다.
승인된 푸시는 알림을 보내기 전에 사용자의 명시적 권한이 필요한 반면, 임시 푸시는 소리나 알림 없이 알림 센터에 직접 조용히 알림을 보낼 수 있습니다.
임시 승인 및 조용한 푸시
iOS 12(2018년 출시) 이전에는 모든 사용자가 푸시 알림을 받으려면 명시적으로 옵트인해야 했습니다.
iOS 12에서 Apple은 임시 승인을 도입하여, 브랜드가 사용자가 명시적으로 옵트인하기 전에 사용자의 알림 센터에 조용한 푸시 알림을 보낼 수 있게 했으며, 이를 통해 메시지의 가치를 일찍 보여줄 수 있는 기회를 제공합니다. 자세한 내용은 임시 승인을 참조하세요.
웹
웹의 경우, 기본 브라우저 권한 대화 상자를 통해 명시적인 사용자 옵트인을 요청해야 합니다.
앱에서 언제든지 권한 프롬프트를 표시할 수 있는 iOS 및 Android와 달리, 일부 최신 브라우저는 “사용자 제스처”(마우스 클릭 또는 키 입력)에 의해 트리거된 경우에만 프롬프트를 표시합니다. 사이트가 페이지 로드 시 푸시 알림 권한을 요청하려고 하면 브라우저에 의해 무시되거나 차단될 가능성이 높습니다.
따라서 페이지가 로드될 때 무작위로 요청하는 것이 아니라, 사용자가 웹사이트의 어딘가를 클릭할 때만 권한을 요청해야 합니다.
푸시 토큰
푸시 토큰은 사용자의 기기에서 생성되어 Braze로 전송되는 고유한 익명 식별자로, 각 수신자의 알림을 어디로 보낼지 식별하는 데 사용됩니다.
푸시 토큰을 분류하는 두 가지 방법이 있으며, 이는 사용자에게 푸시 알림을 보내는 방법을 이해하는 데 필수적입니다.
- 포그라운드 푸시는 사용자 기기의 포그라운드에 일반적인 가시적 푸시 알림을 보내는 기능을 제공합니다.
- 백그라운드 푸시는 특정 기기가 해당 브랜드의 푸시 알림 수신을 옵트인했는지 여부에 관계없이 사용할 수 있습니다. 백그라운드 푸시를 통해 브랜드는 제거 추적과 같은 핵심 기능을 지원하기 위해 의도적으로 표시되지 않는 알림인 사일런트 푸시 알림을 기기에 보낼 수 있습니다.
사용자 프로필에 앱과 연결된 유효한 포그라운드 푸시 토큰이 있으면, Braze는 해당 사용자를 해당 앱에 대해 “푸시 등록됨”으로 간주합니다. 그러면 Braze는 이러한 사용자를 식별하는 데 도움이 되는 특정 세분화 필터인 Foreground Push Enabled for App,을 제공합니다.
Foreground Push Enabled for App 필터는 해당 앱에 대한 유효한 포그라운드 및 백그라운드 푸시 토큰의 존재만 고려합니다. 그러나 보다 일반적인 Foreground Push Enabled 필터는 워크스페이스 내 모든 앱에 대해 푸시 알림을 명시적으로 활성화한 사용자를 세분화합니다. 이 수에는 포그라운드 푸시만 포함되며 구독을 취소한 사용자는 포함되지 않습니다. 이러한 필터 및 기타 필터에 대한 자세한 내용은 세분화 필터를 참조하세요.
하나의 기기에 여러 사용자
푸시 토큰은 기기와 앱 모두에 고유하므로, 동일한 기기를 사용하는 여러 사용자를 구분하는 데 푸시 토큰을 사용할 수 없습니다.
예를 들어, Charlie와 Kim이라는 두 명의 사용자가 있다고 가정합니다. Charlie가 자신의 휴대폰에서 앱의 푸시 알림을 활성화한 상태에서 Kim이 Charlie의 휴대폰을 사용하여 Charlie의 프로필에서 로그아웃하고 자신의 프로필로 로그인하면, 푸시 토큰이 Kim의 프로필로 재할당됩니다. 그러면 Kim이 로그아웃하고 Charlie가 다시 로그인할 때까지 해당 기기에서 푸시 토큰은 Kim의 프로필에 할당된 상태로 유지됩니다.
앱이나 웹사이트는 기기당 하나의 푸시 구독만 가질 수 있습니다. 따라서 사용자가 기기나 웹사이트에서 로그아웃하고 새 사용자가 로그인하면, 푸시 토큰이 새 사용자에게 재할당됩니다. 이는 사용자 프로필의 Engagement 탭에 있는 Contact Settings 섹션에 반영됩니다:

푸시 제공업체(APNs/FCM)가 하나의 기기에서 여러 사용자를 구분할 방법이 없기 때문에, 기기에서 푸시 대상으로 지정할 사용자를 결정하기 위해 마지막으로 로그인한 사용자에게 푸시 토큰을 전달합니다.
여러 기기와 한 명의 사용자
푸시 구독 상태는 사용자 기반이며 개별 앱에 특정되지 않습니다. 푸시 구독 상태는 마지막으로 설정된 값입니다. 따라서 사용자가 푸시 알림을 옵트인한 경우, 모든 적격 기기에서 푸시 구독 상태가 Opted-In이 됩니다. 사용자가 나중에 애플리케이션이나 브랜드가 제공하는 다른 방법을 통해 푸시 알림 구독을 명시적으로 취소하면, 푸시 구독 상태가 Unsubscribed로 업데이트되며 푸시 등록된 기기에서 푸시 알림을 받을 수 없습니다.
Foreground Push Enabled 필터
Foreground Push Enabled는 Braze의 세분화 필터로, 마케터가 Braze에서 푸시 알림을 보내도록 허용한 사용자와 푸시 알림을 받지 않겠다는 선호를 표현하지 않은 사용자를 쉽게 식별할 수 있게 합니다.
Foreground Push Enabled 필터는 다음을 고려합니다:
- Braze가 푸시 알림을 보낼 수 있는 능력(포그라운드 푸시 토큰)
- 사용자의 모든 기기에서 푸시를 받겠다는 전반적인 선호(푸시 구독 상태)

사용자가 워크스페이스 내 앱에 대해 활성 포그라운드 푸시 토큰을 가지고 있으면 “푸시 활성화” 또는 “푸시 등록됨”으로 간주되며, 이는 푸시 활성화 상태가 앱별로 적용됨을 의미합니다.
푸시 등록 상태를 확인하는 방법에 대한 자세한 내용은 푸시 등록 상태를 참조하세요.
기타 플랫폼별 시나리오
사용자가 기본 푸시 권한 프롬프트를 수락하면, 구독 상태가 opted in으로 변경됩니다.
구독을 관리하려면 사용자 메서드 setPushNotificationSubscriptionType을 사용하여 사이트에 선호 설정 페이지를 만든 다음, 대시보드에서 옵트아웃 상태별로 사용자를 필터링할 수 있습니다.
사용자가 브라우저에서 알림을 비활성화하면, 해당 사용자에게 보내는 다음 푸시 알림이 반송되며, Braze는 사용자의 푸시 토큰을 그에 맞게 업데이트합니다. 이는 푸시 활성화 필터(Background or Foreground Push Enabled, Foreground Push Enabled 및 Foreground Push Enabled for App)의 적격성을 관리하는 데 사용됩니다. 사용자 프로필에 설정된 구독 상태는 사용자 수준 설정이며 푸시가 반송될 때 변경되지 않습니다.
웹 플랫폼은 백그라운드 또는 사일런트 푸시를 허용하지 않습니다.
포그라운드 푸시가 활성화된 사용자가 OS 설정에서 푸시를 비활성화하면, 다음 세션 시작 시:
- Braze는 해당 사용자를 포그라운드 푸시 비활성화로 표시하고 더 이상 푸시 메시지를 보내려고 시도하지 않습니다.
Foreground Push Enabled for App (Android)필터와Foreground Push Enabled세분화 필터(사용자 프로필의 다른 앱에 유효한 포그라운드 푸시 토큰이 없는 경우)는false를 반환합니다.
이 시나리오에서는 백그라운드 푸시 토큰이 여전히 존재하므로, 세분화 필터 Background or Foreground Push Enabled = true를 사용하여 백그라운드(사일런트) 푸시 알림을 계속 보낼 수 있습니다.
Android의 경우, Braze는 다음과 같은 경우 사용자를 푸시 비활성화로 간주합니다:
- 사용자가 기기에서 앱을 제거한 경우.
- 반송으로 인해 푸시 메시지 전달에 실패한 경우. 이는 주로 제거로 인해 발생하지만, 앱 업데이트, 새 푸시 토큰 버전 또는 형식으로 인해 발생할 수도 있습니다.
- Firebase Cloud Messaging에 대한 푸시 등록이 실패한 경우(네트워크 연결 불량 또는 FCM에 연결하거나 유효한 토큰을 반환하는 데 실패하여 발생하는 경우가 있음).
- 사용자가 기기 설정에서 앱의 푸시 알림을 차단한 후 세션을 기록한 경우.
앱이 포그라운드 또는 백그라운드(아직 실행 중)에 있을 때만 Android 푸시 알림을 가로챌 수 있습니다. 앱이 종료되었거나 완전히 종료된 경우에는 알림을 가로챌 수 없습니다.
사용자가 포그라운드 푸시 옵트인 프롬프트를 수락하는지 여부에 관계없이, Xcode에서 원격 알림이 활성화되어 있고 앱이 registerForRemoteNotifications()를 호출하면 백그라운드 푸시를 보낼 수 있습니다.
앱이 임시 승인을 받았거나 사용자가 푸시를 옵트인한 경우, 포그라운드 푸시 토큰을 받게 되어 모든 유형의 푸시를 보낼 수 있습니다. Braze에서는 포그라운드 푸시가 활성화된 iOS 사용자를 명시적(앱 수준) 또는 임시(기기 수준)로 푸시 활성화된 것으로 간주합니다.
사용자가 OS 수준에서 푸시 알림 수신을 거부하면, 푸시 구독 상태는 Subscribed가 되며 프로필에 포그라운드 푸시 토큰이 등록되었다고 표시되지 않습니다.
처음에 OS 수준에서 옵트인한 사용자가 OS 설정에서 푸시 알림을 비활성화하는 시나리오에서는, 다음 세션 시작 시 다음과 같은 일이 발생합니다:
- Braze는 해당 사용자를 포그라운드 푸시 비활성화로 표시하고 더 이상 푸시 메시지를 보내려고 시도하지 않습니다.
Foreground Push Enabled for App (iOS)필터와Foreground Push Enabled세분화 필터(사용자 프로필의 다른 앱에 유효한 포그라운드 푸시 토큰이 없는 경우)는false를 반환합니다.
이 시나리오에서는 백그라운드 푸시 토큰이 여전히 존재하므로, 세분화 필터 Background or Foreground Push Enabled = true를 사용하여 백그라운드(사일런트) 푸시 알림을 계속 보낼 수 있습니다.
iOS는 푸시 알림이 표시되기 전에 앱이 푸시 알림을 가로채는 것을 허용하지 않습니다. 이는 앱(및 Braze)이 알림을 표시하거나 숨길 수 있는지에 대한 제어권이 없음을 의미합니다. 사용자는 기기 설정에서 앱의 푸시 알림을 옵트아웃할 수 있지만, 이는 운영체제에 의해 제어됩니다.
모범 사례
Braze에서 푸시 사용을 최적화하는 방법에 대한 자세한 안내는 푸시 모범 사례 전용 문서를 참조하세요.


