자주 묻는 질문
이 문서에서는 인앱 메시지에 대해 자주 묻는 질문에 대한 답변을 제공합니다.
인브라우저 메시지란 무엇이며 인앱 메시지와 어떻게 다른가요?
인브라우저 메시지는 웹 브라우저로 전송되는 인앱 메시지입니다. 인브라우저 메시지를 만들려면 인앱 메시지 Campaign 또는 Canvas를 만들 때 Send To 필드에서 Web Browser를 선택해야 합니다.
기기가 오프라인일 때 인앱 메시지가 표시되나요?
경우에 따라 다릅니다. 인앱 메시지는 세션 시작 시 전달되므로, 기기가 오프라인 상태가 되기 전에 페이로드를 다운로드할 수 있었다면 오프라인 상태에서도 인앱 메시지가 표시될 수 있습니다. 페이로드가 다운로드되지 않은 경우에는 인앱 메시지가 표시되지 않습니다.
사용자의 기기에 이미 인앱 메시지 페이로드가 있는 상태에서 메시지 만료 시간이 변경되면, 기기에서 만료 시간이 업데이트되나요?
사용자가 세션을 시작하면, Braze는 해당 사용자가 수신 자격이 있는 인앱 메시지에 변경 사항이 있는지 확인하고 그에 따라 업데이트합니다. 따라서 만료 시간이 변경되었고 사용자가 세션을 기록하면, 업데이트된 정보와 함께 인앱 메시지가 기기로 전송됩니다.
인앱 메시지 Campaign에 방해금지 시간을 어떻게 설정하나요?
방해금지 시간 기능은 인앱 메시지 Campaign에서는 사용할 수 없습니다. 이 기능은 특정 시간대에 사용자에게 메시지가 발송되지 않도록 하는 데 사용됩니다. 인앱 메시지 Campaign의 경우, 사용자가 앱 내에서 활성 상태일 때만 인앱 메시지를 수신합니다.
특정 시간에 인앱 메시지를 보내기 위한 해결 방법으로, 다음 샘플 Liquid 코드를 사용하세요. 이를 통해 지정된 시간대 기준으로 오후 7시 59분 이후 또는 오전 8시 이전에 인앱 메시지가 표시되는 경우 메시지가 중단됩니다.
{% assign time = 'now' | time_zone: ${time_zone} %}{% assign hour = time | date: '%H' | plus: 0 %}
{% if hour > 19 or hour < 8 %}
{% abort_message("Outside allowed time window") %}
{% endif %}
MESSAGE HERE
사용자가 인앱 메시지를 닫은 후 다시 수신할 수 있나요?
Campaigns
인앱 메시지 Campaign의 경우, 전달 제어에서 재적격성을 활성화(사용자가 Campaign을 다시 수신할 수 있도록 허용)하면 사용자가 해당 Campaign을 다시 수신할 수 있습니다. 사용자가 메시지를 다시 수신할 수 있는 시점은 설정한 재적격 기간과 Braze가 이전 발송을 기록한 방식에 따라 달라집니다. Campaign 동작에 대한 자세한 내용과 재적격성이 메시지 수신과 어떻게 관련되는지에 대해서는 Campaign 및 Canvas 재적격성을 참조하세요.
재적격성이 꺼져 있는 경우, 사용자는 일반적으로 해당 Campaign을 수신한 후 자격 조건만으로는 동일한 Campaign을 다시 수신하지 않습니다.
Canvases
Canvas에서 발송된 인앱 메시지의 경우, 사용자가 해당 메시지를 다시 볼 수 있는지는 Campaign 전달 제어뿐만 아니라 Canvas 진입 제어(사용자가 Canvas에 다시 진입할 수 있도록 허용하는 것 등) 및 단계 구성에 따라 달라집니다.
인앱 메시지의 수신 자격은 언제 계산되나요?
인앱 메시지의 수신 자격은 전달 시점에 계산됩니다. 인앱 메시지가 오전 7시에 발송되도록 예약된 경우, 해당 인앱 메시지의 수신 자격은 오전 7시에 확인됩니다.
인앱 메시지가 표시될 때, 수신 자격은 인앱 메시지가 다운로드되고 트리거된 시점에 따라 달라집니다.
아카이브된 인앱 메시지 Campaign이 여전히 인앱 메시지 노출 횟수를 전달하는 이유는 무엇인가요?
이는 인앱 메시지 Campaign이 활성 상태였을 때 Segment 기준을 충족한 사용자에게 발생할 수 있습니다.
이를 방지하려면 Campaign 설정 중에 표시하기 전에 Campaign 자격을 재평가를 선택하세요.
인앱 메시지에서 열람이 표시되지 않는 이유는 무엇인가요?
인앱 메시지는 열람 측정기준을 사용하지 않습니다. Braze는 메시지가 화면에 표시될 때 노출 횟수를 기록하고, 사용자가 메시지 본문이나 버튼과 상호작용할 때 클릭을 기록합니다. 멀티채널 내보내기 또는 리포트에 인앱 메시지 행이 포함된 경우, 이메일 스타일의 열람 대신 노출 횟수와 클릭을 비교하세요. 정의에 대한 자세한 내용은 인앱 메시지 리포팅을 참조하세요.
동일한 세션에서 여러 인앱 메시지가 표시될 수 있나요?
네, 하지만 트리거 이벤트 발생 시 하나의 인앱 메시지만 표시됩니다. 여러 인앱 메시지 Campaign이 동일한 트리거(예: 세션 시작)를 공유하는 경우, 해당 트리거가 발생할 때마다 우선순위가 가장 높은 메시지만 표시됩니다. 세션 시작 트리거의 경우, 세션당 하나의 메시지만 표시될 수 있으며, 자격이 있는 다른 메시지가 표시될 다음 기회는 다음 세션입니다.
여러 메시지가 동일한 우선순위 수준을 공유하는 경우, 가장 최근에 생성된 메시지가 먼저 표시됩니다. 세션 시작 트리거의 경우, 그다음으로 최근에 생성된 메시지가 이후 세션에서 표시됩니다. 다른 트리거 유형의 경우, 그다음으로 최근에 생성된 메시지가 해당 트리거 이벤트가 다음에 발생할 때 표시되며, 이는 동일한 세션 내이거나 이후 세션일 수 있습니다.
우선순위 버킷 내에서 표시 순서를 제어하려면, 해당 Campaign 중 하나의 전달 설정으로 이동하여 Set exact priority를 선택한 다음 Campaign을 원하는 순서로 드래그 앤 드롭합니다. 자세한 내용은 우선순위 선택을 참조하세요.
인앱 메시지 노출 횟수와 클릭은 어떻게 기록되나요?
사용자 동작에 따른 노출 횟수와 클릭 기록 방법에 대한 자세한 내용은 인앱 메시지 리포트를 참조하세요. 기존 편집기로 생성된 전체화면 메시지에 대한 구체적인 예시는 사용자 동작별 전체화면 메시지 측정기준을 참조하세요.
Braze는 “1일 후”로 설정된 인앱 메시지 만료를 어떻게 계산하나요?
Braze는 1일의 만료 시간을 사용자가 메시지를 수신할 자격을 갖춘 후 24시간으로 계산합니다.
템플릿 인앱 메시지란 무엇인가요?
인앱 메시지는 표시 전 Campaign 자격 재평가가 선택되었거나 메시지에 다음 Liquid 태그 중 하나라도 포함되어 있는 경우 템플릿 인앱 메시지로 전달됩니다:
canvas_entry_propertiesconnected_content{sms.${*}}와 같은 SMS 변수catalog_itemscatalog_selection_itemsevent_properties
Braze는 유휴 인앱 메시지 Campaign(여전히 활성 상태이지만 더 이상 발송하지 않거나 더 이상 필요하지 않은 Campaign)에 대해서도 템플릿 전달을 사용합니다. 이러한 Campaign은 설정된 오디언스 및 트리거 규칙을 계속 따릅니다.
Braze는 앱 성능을 보호하기 위해 템플릿 전달을 사용할 수도 있습니다. Liquid 콘텐츠를 준비하는 데 세션 응답이 몇 초 이상 지연되는 경우, Braze는 나머지 작업을 연기합니다. 해당 메시지는 트리거 시 렌더링됩니다.
이는 세션 시작 시 기기가 전체 메시지 대신 해당 인앱 메시지의 트리거를 수신한다는 것을 의미합니다. 사용자가 인앱 메시지를 트리거하면 사용자의 기기가 실제 메시지를 가져오기 위해 네트워크 요청을 보냅니다.

기기가 인터넷에 접근할 수 없는 경우 메시지가 전달되지 않습니다. Liquid 로직을 처리하는 데 너무 오래 걸리는 경우에도 메시지가 전달되지 않을 수 있습니다.
Braze가 세션 시작 시 처리하는 Liquid의 양을 줄이려면 인앱 메시지 성능 최적화를 참조하세요.
인앱 메시지의 중단 동작은 어떻게 작동하나요?
Braze에서 중단은 사용자가 메시지를 수신할 자격이 되는 행동을 취했지만, Liquid 로직이 해당 사용자를 자격 미달로 판단하여 메시지를 수신하지 못할 때 발생합니다. 예를 들어:
- Sam이 이메일 Campaign을 트리거하는 행동을 수행합니다.
- 이메일 본문에는 커스텀 속성 점수가 50 미만이면 이 이메일을 발송하지 말라는 Liquid 로직이 포함되어 있습니다.
- Sam의 커스텀 속성 점수는 20입니다.
- Braze는 Sam이 이 이메일을 수신해서는 안 된다고 인식하고, 이메일이 중단됩니다.
- 중단 이벤트가 기록됩니다.
그러나 인앱 메시지는 풀(pull) 채널이기 때문에 중단 동작이 약간 다르게 작동합니다.
표준 인앱 메시지 중단 동작
인앱 메시지는 세션 시작 시 기기에서 가져와 기기에 캐시되므로, 인터넷 연결 품질에 관계없이 사용자에게 즉시 전달할 수 있습니다. 예를 들어, 사용자가 세션 중에 다섯 개의 인앱 메시지를 수신하면, 세션 시작 시 다섯 개 모두를 수신합니다. 메시지는 로컬에 캐시되며, 정의된 트리거 이벤트가 발생할 때 표시됩니다(세션 시작, 사용자가 커스텀 이벤트를 기록하는 버튼을 클릭하는 경우 등).
즉, 인앱 메시지를 중단할지 결정하는 로직은 트리거가 발생하기 전에 실행됩니다. 이를 보여주기 위해, 이메일 예시의 Sam이 푸시 알림을 구독하고 있다고 가정해 보겠습니다.
- Sam이 Braze 기반 앱을 휴대폰에서 실행하여 세션을 시작합니다.
- 워크스페이스의 활성 Campaign의 오디언스 기준에 따라 Sam은 다섯 개의 서로 다른 Campaign에 자격이 될 수 있습니다. 다섯 개 모두 휴대폰으로 가져와 캐시됩니다.
- Sam은 이 메시지를 트리거하는 어떤 행동도 수행하지 않았지만, 세션 중에 해당 메시지를 수신할 수 있습니다.
- 두 개의 인앱 메시지의 Liquid에는 Sam이 메시지를 수신하지 못하도록 하는 규칙이 있습니다(예: 점수 커스텀 속성이 충분히 높지 않음).
- Sam은 자신을 제외하는 두 개의 인앱 메시지를 수신하지 않지만, 나머지 세 개의 메시지는 수신합니다.
- 중단 이벤트는 기록되지 않습니다.
Braze는 Sam의 경우 중단 이벤트를 기록하지 않습니다. 이는 중단의 정의를 충족하지 않기 때문입니다. Sam은 메시지를 트리거하는 어떤 행동도 수행하지 않았습니다. 인앱 메시지의 경우, 사용자가 Braze가 메시지를 표시하지 않겠다고 결정하기 전에 실제로 트리거를 수행하는 일은 절대 없습니다.
템플릿 인앱 메시지 중단 동작
템플릿 인앱 메시지는 트리거 이벤트가 발생할 때 SDK가 메시지를 표시할지 재평가하도록 강제합니다. 이는 다른 중단 동작을 가집니다. 이를 보여주기 위해 다음 예시를 살펴보겠습니다:
- Sam이 Braze 기반 앱을 휴대폰에서 실행하여 Braze 세션을 시작합니다.
- 활성 Campaign의 오디언스 기준에 따라 Sam은 템플릿 인앱 메시지에 자격이 될 수 있으므로, 메시지 페이로드 없이 트리거 정보만 기기로 전송됩니다.
- Sam이 커스텀 이벤트를 기록하는 버튼을 선택하여 템플릿 인앱 메시지를 트리거합니다.
- Sam의 기기가 인앱 메시지를 가져오기 위해 네트워크 요청을 수행합니다.
- 메시지의 Liquid 로직이 중단으로 이어지므로, Braze는 이를 중단으로 기록합니다. Sam이 이 평가 전에 트리거 동작을 수행했기 때문입니다.
인앱 메시지 중단 동작 비교
이 표는 Sam이 경험한 인앱 메시지 플로우를 비교합니다:
| 인앱 메시지 | 중단 동작 |
|---|---|
| 표준 | Sam이 메시지를 트리거하는 어떤 행동도 수행하지 않았기 때문에 중단 이벤트가 기록되지 않았습니다. 표준 인앱 메시지는 중단을 기록하지 않습니다. 중단의 정의가 “트리거 동작을 수행했음에도 메시지를 보지 못한 것”이기 때문입니다. 인앱 메시지는 트리거 동작이 발생하기 전에 기기로 전달되므로, Liquid 로직 때문에 생략된 인앱 메시지를 중단으로 간주하는 것은 적절하지 않습니다. |
| 템플릿 | Sam이 템플릿 인앱 메시지를 트리거하기 위해 트리거 동작을 수행했지만, Liquid 템플릿에서 중단을 수신했기 때문에 중단 이벤트가 기록되었습니다. 템플릿 인앱 메시지는 Liquid 평가가 트리거 동작이 수행된 후에 발생하기 때문에 중단을 기록합니다. |
인앱 메시지에서 연결된 콘텐츠는 언제 실행되나요?
템플릿 인앱 메시지의 경우, 연결된 콘텐츠 및 기타 Liquid 태그는 트리거 이벤트가 발생하고 기기가 메시지 페이로드를 요청할 때 해석됩니다. 사용자가 메시지 내부의 버튼을 클릭할 때가 아닙니다. 각 템플릿 가져오기에는 해당 표시를 위한 연결된 콘텐츠 호출이 포함될 수 있습니다.
HTML이 연결된 콘텐츠가 반환한 REST 데이터를 참조하는 경우, 해당 데이터는 메시지가 템플릿된 세션에서 사용할 수 있습니다. 여러 버튼이 클릭 시 추가 호출을 트리거하지 않고 동일한 연결된 콘텐츠 응답을 참조할 수 있습니다.
인앱 메시지 Campaign의 트리거 후 최대 지연 시간은 얼마인가요?
인앱 메시지 Campaign은 트리거 이벤트 후 최대 2시간(7,200초)까지 전달을 지연할 수 있습니다. 지연 옵션은 즉시 및 지연 후입니다. 더 긴 대기 시간이 필요한 경우, Canvas의 인앱 메시지 단계 전에 지연 단계를 추가하세요. 지연 설정에 대해서는 실행 기반 전달을 참조하세요.
인앱 메시지가 표시되기 전에 지연이 발생하는 이유는 무엇인가요?
표준 인앱 메시지는 트리거 이벤트 후 캐시된 페이로드가 준비되는 즉시 표시됩니다. Android 및 iOS에서는 메시지에서 참조하는 대용량 이미지 또는 기타 CDN 호스팅 에셋이 해당 리소스의 다운로드가 완료될 때까지 인앱 메시지가 표시되기 전에 짧은 지연을 추가할 수 있습니다.
템플릿 인앱 메시지 및 표시 전 Campaign 자격 재평가가 선택된 Campaign은 메시지가 표시되기 전에 트리거 후 추가 네트워크 요청이 필요합니다. 이는 짧은 지연을 추가할 수 있습니다(안정적인 연결에서 일반적으로 100ms 미만). 자세한 내용은 타겟 사용자 선택을 참조하세요.
인앱 메시지가 대시보드 미리보기와 다르게 보이는 이유는 무엇인가요?
전달된 인앱 메시지는 다음과 같은 경우 대시보드 미리보기와 다를 수 있습니다:
- 통합에서 커스텀 스타일을 적용하거나 특정 플랫폼에서 기본 인앱 메시지 UI를 재정의하는 경우
- 미리보기가 수신자와 다른 속성을 가진 테스트 사용자 프로필을 사용하는 경우
- 템플릿 콘텐츠가 미리보기 모드와 발송 시점에 다르게 해석되는 경우
외관을 검증할 때는 타겟 오디언스와 프로필이 일치하는 테스트 사용자로 테스트 메시지 발송을 사용하세요.
멀티 페이지 인앱 메시지가 모든 페이지에서 동일한 배경을 사용하는 이유는 무엇인가요?
멀티 페이지 인앱 메시지의 한 페이지에서 배경 이미지가 활성화되면, 해당 배경이 메시지의 모든 페이지에 적용됩니다. 페이지별로 다른 배경을 사용하려면, JavaScript가 포함된 커스텀 HTML 블록을 사용하여 페이지 간에 이미지를 교체하세요.
웹 인앱 메시지는 어떻게 테스트하나요?
웹 인앱 메시지 테스트 발송은 테스트 기기에서 푸시가 활성화되어 있어야 합니다. 테스트 플로우가 인앱 메시지가 표시되는 앱이나 사이트를 여는 푸시 알림을 전달하기 때문입니다. 동일한 푸시 기반 테스트 경로는 Braze에서 푸시가 구성되지 않은 모든 플랫폼에 적용되지만, 많은 모바일 통합에서는 이미 푸시가 활성화되어 있기 때문에 웹에서 푸시 누락이 가장 자주 발생합니다. 대신 내부 테스트 Segment를 대상으로 하는 라이브 Campaign을 사용하세요. 단계는 테스트 메시지 발송을 참조하세요.
인앱 메시지에 푸시 통합이 필요한가요?
인앱 메시지는 프로덕션 환경에서 푸시 알림이 없어도 작동합니다. 인앱 메시지는 Braze SDK를 통해 전달되며, 푸시 통합 없이 활성 앱 세션 중에 표시됩니다.
그러나 인앱 메시지의 테스트 발송은 테스트 기기에서 푸시가 활성화되어 있어야 합니다. 테스트 인앱 메시지는 인앱 메시지 표시를 트리거하는 푸시 알림을 통해 전달되기 때문입니다. 테스트 사용자는 푸시가 활성화되어 있어야 하며, 인앱 메시지를 보려면 테스트 푸시 알림을 탭해야 합니다.
프로덕션 Campaign의 경우, 사용자는 푸시 관여 없이 Campaign 트리거(세션 시작 또는 커스텀 이벤트 등)에 따라 인앱 메시지를 보게 됩니다.
인앱 메시지에 추가 문자 또는 렌더링되지 않는 문자가 나타나는 이유는 무엇인가요?
다른 앱(워드 프로세서나 웹페이지 등)에서 텍스트를 복사하면 메시지 본문에 보이지 않거나 인쇄되지 않는 문자가 삽입될 수 있습니다. 이러한 문자는 잘못된 기호로 표시되거나 커스텀 메시지의 Liquid 및 HTML을 손상시킬 수 있습니다.
잘못되거나 렌더링되지 않는 문자를 수정하려면, Braze 편집기에서 해당 텍스트를 다시 입력하거나, 보이는 텍스트만 선택하여 교체하는 대신 원하지 않는 문자를 직접 삭제하세요. 특수 문자가 포함된 커스텀 HTML 메시지의 경우, HTML <head> 안에 <meta charset="UTF-8">을 추가하세요. 자세한 내용은 문자 인코딩을 참조하세요.
Android에서 전체화면 HTML 인앱 메시지의 닫기 버튼이 숨겨지는 이유는 무엇인가요?
엣지 투 엣지 디스플레이를 사용하는 기기(Android 15 이상 포함)에서는 전체화면 HTML 인앱 메시지가 시스템 상태 표시줄 뒤에 그려져 레이아웃 상단의 닫기 컨트롤이 가려질 수 있습니다.
Braze Android SDK 버전 37.0.0 이상에서는 기본적으로 HTML 인앱 메시지에 윈도우 인셋을 적용하여 컨트롤이 안전 영역 내에 유지됩니다. 사용자에게 여전히 겹침 현상이 발생하는 경우, 최신 Braze Android SDK로 업그레이드하세요.
이전 SDK 버전에서는 이 동작이 기본값이 되기 전에 개발자가 BrazeConfig.setIsHtmlInAppMessageApplyWindowInsetsEnabled(true)를 활성화하여 대응할 수 있었습니다.
드래그 앤 드롭 인앱 메시지를 커스터마이징할 때 알아야 할 사항은 무엇인가요?
드래그 앤 드롭 편집기는 Modal 및 전체화면 표시 유형을 지원합니다. 편집기 블록을 사용하여 해당 컨테이너 내에서 콘텐츠를 구성합니다.
다음 사항을 참고하세요:
- 링크 및 딥링크: 각 클릭 동작에는 기본적으로 하나의 URL 필드가 있습니다. URL에 Liquid를 사용하여 기기, 앱 유형 또는 사용자 속성에 따라 링크를 다르게 설정할 수 있습니다. 메시지 컨테이너에서 플랫폼별 클릭 동작을 활성화하여 플랫폼마다 다른 링크를 설정할 수도 있습니다.
- 불투명도 및 배경: 메시지 컨테이너의 불투명도는 전체 메시지 배경에 영향을 줍니다. 개별 블록은 자체 배경 색상을 설정할 수 있습니다. 더 세밀한 제어가 필요한 경우 커스텀 코드 블록에 커스텀 CSS를 추가하세요.
- 메시지 너비: 메시지 컨테이너의 최대 너비는 편집기에서 325px 미만으로 설정할 수 없으며, 이를 통해 작은 화면에서도 콘텐츠의 가독성이 유지됩니다. 더 좁은 레이아웃이 필요한 경우 커스텀 CSS를 사용하세요.
- 플랫폼별 배경: 단일 메시지는 웹과 모바일에서 동일한 배경 이미지와 색상을 사용합니다. 편집기에서 플랫폼별로 다른 배경을 설정할 수 없습니다.
- 멀티 페이지 메시지: 배경 이미지와 메시지 수준의 클릭 동작은 멀티 페이지 메시지의 모든 페이지에 적용됩니다. 각 페이지에서 다른 전체 이미지를 사용하려면 다음 페이지로 연결되는 버튼을 추가하세요.
- 메시지 수준 스타일: 메시지 수준 스타일은 전체 메시지에 적용됩니다.
- 배경 이미지: 배경 이미지는 Modal에 맞게 늘어납니다.
편집기에 대한 추가 고려 사항은 인앱 메시지 준비 가이드를 참조하세요.
Android SDK 로그에서 “Event was published, but no subscribers were found”는 무엇을 의미하나요?
이 로그 메시지는 일반적으로 오류가 아닙니다. Braze가 내부 이벤트(예: NoMatchingTriggerEvent)를 게시했지만, 해당 시점에 인앱 메시지나 Content Cards 리스너가 구독되어 있지 않을 때 자주 나타납니다.
커스텀 이벤트가 인앱 메시지를 트리거할 것으로 예상되는 상황에서 이 로그가 표시되는 경우, 이벤트가 올바르게 기록되었는지, 사용자가 Campaign 또는 Canvas 오디언스에 포함되어 있는지, 그리고 메시지가 Content Cards에 의존하는 경우 Content Cards가 동기화되었는지 확인하세요.