푸시 등록
이 문서에서는 사용자가 푸시 토큰을 할당받는 과정과 Braze가 사용자에게 푸시 메시지를 보내는 방법에 대해 설명합니다.
푸시 토큰
푸시 토큰과 푸시 토큰이 무엇인지 이해하는 것은 Braze에서 푸시 메시지를 보내는 방법을 이해하는 데 있어 기본적인 부분입니다. 푸시 토큰은 사용자의 디바이스에서 생성되어 각 수신자의 알림을 보낼 위치를 식별하기 위해 Braze로 전송되는 고유한 익명 식별자입니다. 디바이스에 푸시 토큰이 없는 경우 푸시를 보낼 방법이 없습니다.
푸시 토큰은 푸시 서비스 제공업체에서 생성합니다. Braze는 Android용 Firebase 클라우드 메시징 서비스(FCM) 및 iOS용 Apple 푸시 알림 서비스(APN)와 같은 푸시 서비스 제공업체와 연결되며, 이러한 제공업체는 앱을 식별하는 고유 기기 토큰을 전송합니다. 각 디바이스에는 메시징에 사용되는 고유한 토큰이 하나씩 있습니다. 토큰은 만료되거나 업데이트될 수 있습니다.
푸시 알림을 사용자에게 보내는 방법을 이해하는 데 필수적인 [푸시 토큰]] [푸시 토큰] ]은 두 가지 방법으로 분류할 수 있습니다.
- 포그라운드 푸시는 사용자 디바이스의 포그라운드로 정기적으로 눈에 보이는 푸시 알림을 보내는 기능을 제공합니다.
- 백그라운드 푸시는 특정 디바이스가 해당 브랜드의 푸시 알림을 수신하도록 옵트인했는지 여부와 관계없이 사용할 수 있습니다. 백그라운드 푸시를 사용하면 브랜드가 의도적으로 표시되지 않는 알림인 무음 푸시 알림을 디바이스에 전송하여 앱 삭제 추적과 같은 주요 기능을 지원할 수 있습니다.
사용자 프로필에 앱과 연결된 유효한 포그라운드 푸시 토큰이 있는 경우, Braze는 해당 사용자가 해당 앱에 대해 “푸시 등록”된 것으로 간주합니다. 따라서 Braze는 이러한 사용자를 식별하는 데 도움이 되는 특정 세분화 필터( Push enabled for App,
)를 제공합니다.
Push enabled for App
필터는 지정된 앱에 유효한 포그라운드 또는 백그라운드 푸시 토큰이 있는지 여부만 고려합니다. 그러나 보다 일반적인 Push Enabled
필터는 작업 영역에 있는 모든 앱에 대해 푸시 알림을 명시적으로 활성화한 사용자를 세그먼트화합니다. 이 수에는 포그라운드 푸시만 포함되며 구독을 취소한 사용자는 포함되지 않습니다. 이러한 필터 및 기타 필터에 대한 자세한 내용은 세분화 필터에서 확인할 수 있습니다.
하나의 디바이스에서 여러 사용자
푸시 토큰은 디바이스와 앱 모두에 고유하므로 푸시 토큰을 사용하여 동일한 디바이스를 사용하는 여러 사용자를 구분하는 것은 불가능합니다.
예를 들어 사용자가 두 명이라고 가정해 보겠습니다: 찰리와 킴. 찰리가 자신의 휴대폰에서 내 앱의 푸시 알림을 사용 설정한 상태에서 김이 찰리의 휴대폰을 사용하여 찰리의 프로필에서 로그아웃하고 자신의 프로필에 로그인하면 푸시 토큰이 김의 프로필에 다시 할당됩니다. 그러면 푸시 토큰은 김씨가 로그아웃하고 찰리가 다시 로그인할 때까지 해당 디바이스의 김씨 프로필에 할당된 상태로 유지됩니다.
앱 또는 웹사이트는 기기당 하나의 푸시 구독만 허용됩니다. 따라서 사용자가 디바이스나 웹사이트에서 로그아웃하고 새 사용자가 로그인하면 푸시 토큰이 새 사용자에게 다시 할당됩니다. 이는 참여 탭의 연락처 설정 섹션에 있는 사용자 프로필에 반영됩니다:
![사용자 프로필의 **참여** 탭에 있는 푸시 토큰 변경 로그에는 푸시 토큰이 다른 사용자에게 이동된 시점과 토큰이 무엇인지 나열되어 있습니다.][4]
푸시 공급자(APN/FCM)가 한 디바이스에 있는 여러 사용자를 구분할 수 있는 방법이 없으므로, 푸시 토큰을 마지막으로 로그인한 사용자에게 전달하여 디바이스에서 푸시 타겟팅할 사용자를 결정합니다.
푸시 토큰 등록
플랫폼마다 푸시 토큰 등록 및 푸시 권한을 처리하는 방식이 다릅니다:
- Android:
- Android 13:
푸시 권한은 사용자에게 요청하여 부여받아야 합니다. 사용자가 권한을 부여한 후 토큰을 받습니다. 앱은 적절한 시기에 사용자에게 수동으로 권한을 요청할 수 있지만, 그렇지 않은 경우 앱이 알림 채널을 생성한 후 자동으로 사용자에게 메시지를 표시합니다. - Android 12 및 이전 버전:
모든 사용자는 Braze가 자동으로 푸시 토큰을 요청하는 첫 세션에서Subscribed
으로 간주됩니다. 이 시점에서 사용자는 해당 디바이스에 대해 유효한 푸시 토큰과 기본 구독 상태인Subscribed
로 푸시가 활성화됩니다.
- Android 13:
- iOS: 푸시에 자동으로 등록되지 않습니다.
- iOS 12(임시 승인 포함):
앱에서 임시 승인 또는 승인된 푸시를 요청할 수 있습니다. 승인된 푸시는 알림을 보내기 전에 사용자의 명시적인 권한이 필요하지만(사용자가 권한을 부여한 후 토큰을 받음), [임시 푸시]] [임시 블로그] ]를 사용하면 소리나 경고 없이 알림 센터로 바로 조용히 알림을 보낼 수 있습니다. - iOS 11 이상 및 iOS 12(임시 승인 없음):
모든 사용자는 푸시 알림을 받으려면 명시적으로 옵트인해야 합니다. 사용자가 옵트인한 후 토큰을 받게 됩니다.
- iOS 12(임시 승인 포함):
- 웹: 기본 브라우저 권한 대화 상자를 통해 사용자에게 명시적인 옵트인을 요청해야 합니다. 사용자가 옵트인한 후 토큰을 받게 됩니다. 앱에서 언제든지 권한 프롬프트를 표시할 수 있는 iOS 및 Android와 달리 일부 최신 브라우저에서는 ‘사용자 제스처’(마우스 클릭 또는 키 입력)에 의해 트리거된 경우에만 프롬프트가 표시됩니다. 사이트에서 페이지 로드 시 푸시 알림 권한을 요청하려고 하면 브라우저에서 무시되거나 무음 처리될 가능성이 높습니다.
푸시 토큰 받기 | 푸시 토큰 보내기 |
---|---|
디바이스에 대한 푸시 토큰을 받으려면 애플리케이션이 푸시 제공업체에 등록해야 합니다. | 그런 다음 개발자는 FCM/APN에서 생성된 푸시 토큰을 사용하여 디바이스를 타겟팅할 수 있습니다. |
사용자의 푸시 구독 상태 확인
![푸시 구독 상태가 구독됨으로 설정된 신원 미상의 사용자 프로필입니다.][3]{: style=”float:right;max-width:35%;margin-left:15px;”}
Braze에서 사용자의 푸시 구독 상태를 확인할 수 있는 방법은 두 가지가 있습니다:
- 사용자 프로필: 사용자 검색][5] 페이지]의 Braze 대시보드를 통해 개별 사용자 프로필에 액세스할 수 있습니다. 이메일 주소, 전화번호 또는 외부 사용자 ID를 통해 사용자의 프로필을 찾은 후 참여 탭을 선택하여 사용자의 가입 상태를 확인하고 수동으로 조정할 수 있습니다.
- 나머지 API 내보내기: 세그먼트별 사용자][세그먼트] ] 또는 [식별자별 사용자][식별자] 엔드포인트] 내보내기를 사용하여 개별 사용자 프로필을 JSON 형식으로 내보낼 수 있습니다. Braze는 디바이스별 푸시 활성화 정보가 포함된 푸시 토큰 객체를 반환합니다.
푸시 등록 상태 확인
사용자 프로필의 참여 탭에 푸시 등록 대상과 앱 이름이 표시됩니다. 해당 디바이스에 대한 앱 정보가 없는 경우 두 개의 대시(–)가 표시됩니다. 사용자에게 속한 모든 디바이스에 대한 항목이 있습니다.
디바이스 항목의 앱 이름 앞에 Foreground:
이 붙으면 해당 앱은 해당 디바이스에서 포그라운드 푸시 알림(사용자에게 표시됨)과 백그라운드 푸시 알림(사용자에게 표시되지 않음)을 모두 수신할 수 있는 권한이 부여됩니다.
![푸시 토큰 예제를 사용하여 변경 로그를 푸시합니다.][2]{: style=”float:right;max-width:40%;margin-left:15px;margin-top:10px;”}
반면, 디바이스 항목의 앱 이름 앞에 Background:
이 붙으면 해당 앱은 백그라운드 푸시만 수신할 수 있는 권한이 부여되며 해당 디바이스에 사용자가 볼 수 있는 알림을 표시할 수 없습니다. 이는 일반적으로 사용자가 해당 디바이스에서 앱에 대한 알림을 비활성화했음을 나타냅니다.
푸시 토큰이 동일한 디바이스의 다른 사용자로 이동하면 첫 번째 사용자는 더 이상 푸시 등록이 되지 않습니다.
푸시 토큰 관리
사용자 프로필에서 푸시 토큰을 변경하거나 제거할 수 있는 작업은 다음 차트를 참조하세요.
작업 | 설명 |
---|---|
changeUser() 메서드를 호출하는 |
Braze changeUser() 메서드는 SDK가 사용자 행동 데이터를 할당하는 사용자 ID를 전환합니다. 이 메서드는 일반적으로 사용자가 애플리케이션에 로그인할 때 호출됩니다. 특정 디바이스에서 다른 또는 새로운 사용자 ID로 changeUser() 을 호출하면 해당 디바이스의 푸시 토큰이 해당 사용자 ID를 가진 적절한 Braze 프로필로 이동합니다. |
푸시 오류 발생 | 토큰 제거로 이어지는 몇 가지 일반적인 푸시 오류로는 MismatchSenderId , InvalidRegistration , 기타 유형의 푸시 반송 등이 있습니다. 일반적인 푸시 오류의 전체 목록을 확인하세요. |
사용자 제거 | 사용자가 디바이스에서 애플리케이션을 제거하면 Braze는 프로필에서 사용자의 푸시 토큰을 제거합니다. |
더 넓은 규모에서는 어떤 모습일까요?
사용자가 새 애플리케이션을 열고 푸시 프롬프트에서 푸시 액세스 권한을 부여하면 Braze SDK에서 푸시 제공업체로 호출이 이루어집니다. 해당 호출이 이루어지면 푸시 제공업체는 모든 것이 올바르게 설정되었는지 확인합니다. 그렇다면 푸시 토큰이 디바이스로 전달됩니다. 토큰이 도착하면 SDK는 이를 Braze에 전달합니다. Braze가 푸시 공급자로부터 토큰을 받은 후, 사용자 프로필을 업데이트하거나 새 사용자 프로필을 생성합니다. 이제 이러한 사용자는 등록된 것으로 간주됩니다.
캠페인을 시작하려면 Braze에서 캠페인을 생성하여 푸시 페이로드를 생성하여 푸시 제공업체에 전송합니다. 여기에서 공급자는 푸시 페이로드를 사용자의 디바이스에 전달하고, SDK는 메시징 상태를 Braze에 전달합니다.
![앞서 언급한 Braze, 고객, Apple 푸시 알림 서비스 또는 Firebase 클라우드 메시징 간의 푸시 프로세스를 매핑하는 흐름도입니다.][푸시 프로세스]
등록 단계 | 메시징 단계 |
---|---|
1. 고객(디바이스)이 푸시 제공업체에 등록 2. 공급자가 푸시 토큰 생성 및 전달 3. 브레이즈에서 토큰 플러시 |
1. Braze가 공급자에게 푸시 페이로드를 전송합니다. 2. 공급자가 디바이스에 푸시 페이로드를 전달합니다. 3. SDK는 메시징 통계를 Braze에 전달합니다. |
자주 묻는 질문
옵트인한 사용자가 내 앱을 삭제했다가 다시 다운로드하면 어떻게 되나요?
사용자가 푸시를 옵트인하고 일부 푸시 메시지를 수신한 후 나중에 앱을 삭제한다고 가정해 보겠습니다. 이렇게 하면 디바이스 수준에서 푸시 동의가 제거됩니다. 여기에서 삭제 후 처음으로 반송된 푸시는 자동으로 해당 사용자가 향후 푸시 메시징을 수신 거부하게 됩니다. 이후 사용자가 앱을 재설치했지만 실행하지 않으면 앱에 대한 푸시 토큰이 다시 부여되지 않았기 때문에 Braze는 사용자에게 푸시를 보낼 수 없습니다.
또한 사용자가 포그라운드 푸시를 다시 사용하도록 설정하는 경우 푸시 메시지 수신을 시작하려면 세션을 시작하여 사용자 프로필에서 이 정보를 업데이트해야 합니다.
푸시 토큰은 언제 만료되나요?
안타깝게도 APN과 FCM은 이를 실제로 정의하지 않습니다. 푸시 토큰은 앱이 업데이트되거나 사용자가 데이터를 새 디바이스로 전송하거나 운영 체제를 다시 설치할 때 만료될 수 있습니다. 대부분의 경우, 푸시 제공업체가 특정 푸시 토큰을 만료하는 이유에 대한 인사이트가 없습니다.
이러한 모호함을 고려하기 위해 SDK 푸시 통합은 세션 시작 시 항상 토큰을 등록하고 플러시하여 최신 토큰을 보유하도록 합니다.
[push-process]: /docs/ko/assets/img/push_process.png?9cf024c26e389ace595ddaed8e81ad88 [5]: /docs/ko/user_guide/engagement_tools/segments/using_user_search/ [2]: /docs/ko/assets/img/push_changelog.png?a1df21a5f442a5202c793c3ccaf1e02d [push-tokens]: /docs/ko/user_guide/message_building_by_channel/push/push_registration/ [3]: /docs/ko/assets/img/push_example.png?037b25580f8a7a625c58fbddce3886ed [4]: /docs/ko/assets/img/push_token_changelog.png?7da5a070185b54256e3bb28616ccee8f