메인 콘텐츠로 건너뛰기

푸시 권한 프롬프트를 사용하는 이유는 무엇인가요?

배너로 나타나고, 잠금 화면에 표시되고, 소리를 재생하는 등의 푸시 알림을 보내려면 먼저 사용자의 권한을 받아야 합니다. iOS, Android, Huawei, Amazon 및 Web에서는 시스템 수준 권한 프롬프트를 표시해야 합니다.

시스템 수준 권한 프롬프트를 표시하는 iOS 및 Android 장치입니다.

이 가이드는 모바일 앱 푸시 구독자를 위한 것입니다. Web Push의 경우 Web 권한 프롬프트를 참조하세요.
iOS에서는 사용자에게 프롬프트를 표시하지 않고 알림 센터로 조용히 전달하는 Provisional 알림을 사용할 수도 있습니다. 이는 테스트 또는 낮은 마찰의 온보딩에 이상적입니다. 권장되는 시스템 수준 권한 프롬프트의 경우 다음 사항을 기억하세요:
  • iOS는 권한 프롬프트를 한 번만 허용합니다.
  • Android는 두 번 허용합니다.
  • 그 이후에는 사용자가 시스템 설정에서 수동으로 알림을 활성화해야 합니다.
requestPermission() SDK 메서드를 사용하여 언제든지 프롬프트를 트리거할 수 있지만 적절한 시점과 적절한 컨텍스트로 요청하는 것이 중요합니다. AppleGoogle 모두 먼저 알림의 가치를 설명할 것을 강력히 권장합니다. 가장 좋은 방법은 무엇일까요? “Soft 프롬프트”를 사용하세요. 요청을 소개하는 사용자 지정 In-App Message입니다. 사용자가 수락하면 시스템 프롬프트가 나타납니다. 거부하면 아무 일도 일어나지 않습니다. 해가 없습니다.

예시는 시스템 수준 푸시 권한 프롬프트로 이어지는 In-App Message를 보여줍니다.


In-App 푸시 권한 프롬프트 설정

1

자동 권한 프롬프트 제거

시작하기 전에 앱이 기본 푸시 프롬프트를 자동으로 트리거하지 않는지 확인하세요:
  • 앱 시작 시 호출하는 경우 requestPermission() 또는 optIn() 메서드를 제거하세요.
  • requestAuthorizationWithOptions에 대한 기본 iOS 호출 및 푸시 토큰을 생성하는 모든 메서드를 제거하세요.
  • requestPermissions에 대한 Android 호출 및 푸시 토큰을 생성하는 모든 메서드를 제거하세요.
또한 앱에서 최신 버전의 OneSignal SDK를 사용하고 있는지 확인하세요.
2

In-App Message 생성 또는 편집

Messages > In-App으로 이동한 다음 다음 중 하나를 수행하세요:
  • 기본 Push Permission Prompt 템플릿을 편집하거나
  • New Message를 클릭하여 직접 만드세요.

기본 Push Permission Prompt 템플릿을 편집하거나 직접 만드세요.

대상을 Show to all users로 설정하세요 걱정하지 마세요. 이 유형의 In-App Message는 푸시를 구독하지 않은 사용자에게만 자동으로 표시됩니다.

"Push Permission Prompt" 클릭 액션이 구독하지 않은 구독에만 표시되도록 하기 때문에 대상을 "Show to all users"로 설정하세요.

3

메시지 디자인 사용자 지정

앱에 맞게 모양, 느낌 및 문구를 개인화하세요. 명확하고 도움이 되도록 유지하세요. 사용자에게 받을 알림의 종류와 왜 가치가 있는지 알려주세요.자세한 내용은 드래그 앤 드롭으로 In-App Message 디자인 또는 HTML로 In-App Message 디자인을 참조하세요.

In-App Message 블록 편집기를 사용하면 사용자에게 푸시 알림 옵트인을 요청하는 메시지를 만들 수 있습니다.

4

푸시 권한 프롬프트 클릭 액션 추가

메시지의 버튼 또는 이미지에 Push Permission Prompt 클릭 액션을 추가하세요. 탭하면 시스템 프롬프트가 표시됩니다.

In-App Message 블록 편집기를 사용하면 버튼에 클릭 액션을 추가하여 푸시 권한을 요청할 수 있습니다.

iOS의 필수 권한 프롬프트 예시입니다.

사용자가 이미 권한을 거부한 경우 버튼은 대신 앱의 알림 설정으로 이동합니다.
“Push Permission Prompt” 액션이 있는 In-App Message는 이미 알림을 허용한 사용자에게 표시되지 않습니다.
5

트리거 선택

대상은 메시지를 볼 수 있는 사람을 제어합니다. 트리거는 표시되는 시기를 제어합니다.

메시지가 표시되는 시기를 제어하는 트리거 옵션입니다.

다음과 같이 메시지를 트리거할 수 있습니다:
  • 앱 열기 시
  • 설정된 세션 시간 후
  • 특정 사용자 이벤트 시
  • 프로그래밍 방식으로(더 많은 제어)
예를 들어 사용자가 앱에서 최소 5분을 보낼 때까지 기다리려면:

트리거를 설정하여 사용자가 In-App Message를 보는 시기를 정할 수 있습니다.

6

일정 및 빈도

메시지가 나타나는 빈도를 제어할 수 있습니다:
  • 한 번만 - 전환 가능성 낮음
  • 조건이 충족될 때마다 - 너무 공격적임
  • ✅ 여러 번 - 권장
큰 최대값(예: 9999)과 뷰 간 지연(예: 2주)을 설정하여 시간이 지남에 따라 사용자에게 부드럽게 상기시키세요. 즉, 메시지가 총 9999회 동안 2주마다 한 번씩 표시됩니다.구독하지 않은 사용자에게 항상 구독하도록 프롬프트를 표시하고 싶지만 귀찮게 하고 싶지 않기 때문에 2주마다 한 번씩만 요청하므로 첫 번째 숫자를 매우 큰 양으로 설정하고 싶습니다. 사용 사례에 따라 2주에서 더 많거나 적게 주기를 변경할 수 있습니다.

사용자가 In-App Message를 보기 시작하는 시기와 보는 빈도를 예약하세요.

메시지를 업데이트하고 라이브로 설정하세요. 이제 통계를 모니터링하고 필요에 따라 일 사이의 간격을 업데이트할 수 있습니다.

프로그래밍 방식으로 필수 권한 프롬프트 표시

개발자: requestPermission() 또는 optIn() SDK 메서드를 사용하여 수동으로 푸시 권한 프롬프트를 트리거할 수 있습니다. 이는 다음과 같은 사용자 지정 흐름에 적합합니다:

푸시 권한 및 프롬프트 결과 추적

In-App Message를 사용하여 푸시를 요청할 때 In-App Message 클릭 리스너로 클릭 액션을 추적할 수 있습니다. In-App Message가 표시되지만 사용자가 버튼을 클릭하지 않는 경우 In-App Message 수명 주기 이벤트를 수신할 수 있습니다. 시스템 수준 권한 프롬프트의 결과를 추적하려면 푸시 권한 리스너로 이벤트를 수신할 수 있습니다.
이러한 SDK 메서드를 사용할 때 선택한 백엔드 또는 Analytics 도구로 이벤트를 보낼 수 있습니다.

FAQ

Provisional 알림으로 사용자에게 프롬프트를 표시할 수 있나요?

예! 실제로 iOS Provisional 푸시 알림을 사용하는 경우에도 이 방식으로 사용자에게 푸시를 요청하는 것이 좋지만 전략적으로 수행하세요!

Android는 언제부터 권한 프롬프트가 필요하게 되었나요?

Android는 Android 13(API 레벨 33)부터 푸시 알림에 대한 명시적 사용자 권한이 필요하게 되었습니다: