
높은 옵트인율을 위한 전략
푸시 옵트인율은 시스템 프롬프트 자체의 문구보다 언제, 어떻게 요청하는지에 훨씬 더 크게 좌우됩니다. 프롬프트를 전략으로 다루는 앱은 첫 실행 시점에 프롬프트를 표시하는 앱을 지속적으로 능가합니다. 아래 원칙들은 그 구성 요소이며, 이어지는 예시 전략은 이러한 요소를 어떻게 구체적인 플레이북으로 결합하는지 보여줍니다.원칙
- 가치 있는 순간 이후에 요청하세요. 사용자가 알림받을 만한 가치가 있는 무언가를 방금 경험했을 때까지 기다리세요. 온보딩 완료, 항목 저장, 토픽 팔로우, 주문 완료, 첫 세션 종료 같은 시점입니다. 사용자가 앱이 무엇을 하는지 이해하기도 전에 첫 실행에서 프롬프트를 표시하는 것이 낮은 옵트인율의 가장 큰 원인입니다.
- iOS에서는 임시 알림으로 시작하세요. 임시 알림은 어떤 프롬프트도 없이 알림 센터로 조용히 전달되므로, 사용자는 가상의 설명이 아닌 실제 콘텐츠를 기반으로 유지 여부를 결정합니다. iOS에서 종종 가장 높은 전환율을 보이는 경로이므로 기본 시작점으로 삼아야 합니다.
- 인앱 소프트 프롬프트로 가치를 설명하세요. 소프트 프롬프트는 어떤 종류의 알림을 보낼 것이며 왜 중요한지 사용자에게 알려주는 OneSignal 인앱 메시지입니다. 소프트 프롬프트를 닫아도 시스템 프롬프트 시도 횟수가 소진되지 않으므로, 아직 준비되지 않았던 사용자에게 다시 요청할 수 있습니다.
- 시스템 프롬프트가 아니라 소프트 프롬프트를 거부한 사용자에게 다시 요청하세요. 소프트 프롬프트가 일정 주기(예: 2주마다)로 다시 표시되도록 구성하세요. 아직 준비되지 않았던 사용자는 시스템 프롬프트 제한을 소진하지 않고도 다시 한 번 기회를 얻습니다.
- 문구와 타이밍을 반복 개선하세요. 소프트 프롬프트를 배포하고, 메시지 리포트에서 전환율을 확인한 다음, 트리거, 문구, 빈도를 조정하세요. 타이밍과 문구의 작은 변경만으로도 옵트인율이 수십 퍼센트포인트 움직이는 경우가 흔합니다.
예시: 온보딩 옵트인 전략
이 예시는 iOS에서 즉각적인 도달을 위한 임시 알림과, 가치 있는 순간에 표시되는 소프트 프롬프트를 결합하여 완전한 옵트인으로 전환합니다. 시작점으로 삼되 알림 유형과 가치 있는 순간을 앱에 맞게 조정하세요. Android 및 Huawei 앱의 경우 1단계는 건너뛰고 2단계부터 시작하세요. 1단계: iOS에서 조용한 도달- OneSignal 대시보드의 Settings > Apple iOS > Advanced Configuration > Enable iOS 12 direct to history에서 임시 승인을 활성화하세요.
- 사용자의 첫 주 동안 2~3개의 고품질 알림을 전송하세요. 개인화된 추천, 속보 알림, 주간 다이제스트처럼 구독의 가치를 보여주는 콘텐츠를 선택하세요. 사용자는 프롬프트 없이 알림 센터에서 이를 조용히 받게 됩니다.
- Messages > In-App에서 사용자가 이미 경험한 가치를 언급하는 소프트 프롬프트를 만드세요. 헤드라인 예시: “잠금 화면에서 속보 알림을 받아보세요.”
- 오디언스를 Show to all users로 설정하세요. Push Permission Prompt 클릭 액션이 자동으로 미구독 사용자에게만 필터링합니다.
- 신호가 강한 이벤트에서 메시지를 트리거하세요. 임시 알림 열기 또는 반응, 토픽 팔로우, 장바구니에 항목 추가, 5분간의 세션 시간 등입니다.
- CTA 버튼에 Push Permission Prompt 클릭 액션을 추가하세요.
- 일정을 Multiple times로 설정하고, 사용자당 최대 표시 횟수를
20, 표시 사이 간격을2 weeks로 설정하세요(약 10개월 동안 재프롬프트).
- 1~2주 후, 메시지 리포트에서 프롬프트에서 옵트인까지의 전환율을 확인하세요.
- SDK 리스너로 전체 퍼널을 계측하세요. 소프트 프롬프트 클릭, 닫기, 시스템 프롬프트 결과를 추적하고 그 이벤트를 분석 도구로 전달하세요.
- 수치를 기반으로 한 번에 하나의 변수(트리거 이벤트, 헤드라인, CTA 문구, 표시 사이 간격)만 조정하세요.
접근 방식 선택
OneSignal로 푸시 구독자 기반을 늘리는 방법은 세 가지가 있습니다. 대부분의 iOS 앱은 임시 알림과 인앱 소프트 프롬프트를 결합해야 하며, 대부분의 Android 앱은 소프트 프롬프트부터 시작해야 합니다.| 접근 방식 | 플랫폼 | 작동 방식 | 사용 시점 |
|---|---|---|---|
| 인앱 소프트 프롬프트 (권장) | iOS, Android, Huawei | Push Permission Prompt 클릭 액션이 포함된 OneSignal 인앱 메시지를 구성합니다. 버튼을 탭하면 시스템 프롬프트가 표시됩니다. 인앱 메시지를 닫아도 시도 횟수가 소진되지 않으므로 나중에 다시 요청할 수 있습니다. | 기본 선택. 코드 릴리스 없이 프롬프트를 디자인, 예약, 타겟팅, 재표시할 수 있습니다. |
| 프로그래밍 방식 프롬프트 | iOS, Android, Huawei | 앱 코드에서 requestPermission() 또는 optIn()을 호출합니다. 시스템 프롬프트가 즉시 나타납니다. | 앱이 트리거를 제어하는 사용자 지정 흐름. 기본 설정 센터, 프로필 화면, 프롬프트가 정당화되는 인앱 이벤트 등입니다. |
| 임시 알림 | iOS | OneSignal 대시보드에서 활성화합니다. 사용자는 어떤 프롬프트도 없이 알림 센터에서 조용한 알림을 받고, Keep을 탭하여 전체 구독자로 전환합니다. | iOS 온보딩과 낮은 마찰의 도달. 소프트 프롬프트와 결합하여 조용한 구독자를 전체 푸시 구독자로 전환하세요. |

사전 요구 사항
- OneSignal 계정.
- OneSignal SDK가 설치되고
OneSignalInAppMessages패키지가 활성화된 모바일 앱.
인앱 푸시 권한 프롬프트 설정
자동 권한 프롬프트 제거
시작하기 전에 앱이 이미 시스템 권한 프롬프트를 자동으로 트리거하고 있지 않은지 확인하세요.
- 앱 시작 시 호출되는
requestPermission()또는optIn()호출을 모두 제거하세요. requestAuthorizationWithOptions에 대한 네이티브 iOS 호출과 푸시 토큰을 직접 생성하는 모든 코드를 제거하세요.requestPermissions에 대한 Android 호출과 푸시 토큰을 직접 생성하는 모든 코드를 제거하세요.
인앱 메시지 생성 또는 편집
Messages > In-App으로 이동한 다음 다음 중 하나를 수행하세요.
오디언스를 Show to all users로 설정하세요. OneSignal은 Push Permission Prompt 클릭 액션에 따라 아직 푸시를 구독하지 않은 사용자에게만 이 메시지를 자동으로 필터링합니다.
- 기본 Push Permission Prompt 템플릿을 편집하거나,
- New Message를 클릭하여 직접 만드세요.


메시지 디자인 사용자 지정
앱에 맞게 모양, 느낌, 문구를 개인화하세요. 어떤 종류의 알림을 받게 될지, 왜 가치가 있는지 사용자에게 알려주세요.자세한 내용은 드래그 앤 드롭으로 인앱 메시지 디자인하기 또는 HTML로 인앱 메시지 디자인하기를 참조하세요.

Push Permission Prompt 클릭 액션 추가
메시지의 버튼이나 이미지에 Push Permission Prompt 클릭 액션을 추가하세요. 탭하면 시스템 권한 프롬프트가 나타납니다.

사용자가 이미 시스템 권한 프롬프트를 최대 횟수만큼 거부했다면(iOS는 한 번, Android는 두 번), 클릭 액션은 대신 사용자를 앱의 알림 설정으로 이동시킵니다. 이는 SDK에서


requestPermission(fallbackToSettings: true)를 호출하는 것과 동일합니다.Push Permission Prompt 클릭 액션이 있는 인앱 메시지는 이미 알림을 허용한 사용자에게는 표시되지 않습니다.
트리거 선택
오디언스는 메시지를 볼 자격이 있는 대상을 제어합니다. 트리거는 메시지가 표시되는 시점을 제어합니다. 사용자가 알림받을 만한 가치가 있는 무언가를 방금 경험한 가치 있는 순간에 프롬프트를 트리거하는 것을 목표로 하세요.
트리거 옵션(전환율이 낮은 것부터 높은 것 순으로 대략적으로 정렬):

- 앱 열기 시. 간단하지만 최적인 경우는 드뭅니다. 앱의 가치가 몇 초 안에 명확한 경우에만 사용하세요.
- 설정된 세션 시간 후. 좋은 기본값. 사용자가 앱을 탐색한 후에 요청하도록 기다립니다.
- 특정 사용자 이벤트 시. 전환에 가장 좋습니다. 온보딩 완료, 항목 저장, 토픽 팔로우, 첫 구매 완료 같은 신호가 강한 액션 이후에 트리거하세요.
- 프로그래밍 방식, 인앱 메시지 트리거 SDK 메서드를 사용. 여러 신호를 결합한 후에 프롬프트하는 등 타이밍과 컨텍스트를 완전히 제어합니다.

일정과 빈도
메시지가 표시되는 빈도를 제어하세요.
- Only once. 처음에 준비되지 않았던 사용자를 전환할 가능성이 낮습니다.
- Every time conditions are met. 너무 공격적이며 사용자를 불편하게 할 수 있습니다.
- Multiple times (권장). 사용자당 최대 표시 횟수와 표시 사이 간격을 설정하세요. 예를 들어,
20회 표시와2 weeks간격은 미구독 사용자에게 약 10개월 동안 공격적인 주기로 재프롬프트합니다. 참여도가 낮거나 유틸리티성 앱에서 2주 간격이 부담스럽게 느껴진다면 간격을 (예:30 days또는60 days처럼) 늘리세요.

프로그래밍 방식으로 권한 프롬프트 표시
requestPermission() 또는 optIn() SDK 메서드를 사용해 시스템 권한 프롬프트를 수동으로 트리거할 수 있습니다. 다음과 같은 사용자 지정 흐름에 유용합니다.
- 기본 설정 센터.
- 사용자 프로필 화면.
- 특정 인앱 이벤트.
requestPermission()에 fallbackToSettings: true를 전달하세요.
optOut()을 통해 SDK 수준에서 구독이 옵트아웃된 경우(구독 레코드에 notification_types: -2로 표시됨), requestPermission() 단독으로는 구독 상태가 변경되지 않습니다. 대신 optIn()을 사용하세요. 권한을 요청함과 동시에 옵트아웃 상태를 해제합니다.iOS 임시 알림 사용
임시 푸시 알림은 iOS 12에서 도입되었습니다. 권한 프롬프트를 표시하지 않고도 알림 센터로 알림을 전달할 수 있습니다. 사용자는 앱의 실제 콘텐츠를 확인한 후 그 경험을 바탕으로 알림을 유지할지, 무음으로 할지, 끌지 결정합니다. 전략으로서 효과적인 이유:- 실패할 시스템 프롬프트가 없습니다. 사전 옵트인 결정 없이도 첫 세션부터 사용자에게 도달하기 시작할 수 있습니다.
- 사용자는 가상의 설명이 아닌 실제 가치를 기반으로 결정합니다.
- 나중에 소프트 프롬프트를 표시하여 임시 사용자를 배너, 소리, 잠금 화면 알림이 포함된 전체 푸시 구독자로 전환할 수 있습니다.

푸시 권한 및 프롬프트 결과 추적
- 인앱 메시지 클릭 리스너로 사용자가 소프트 프롬프트에서 어떤 버튼을 탭했는지 추적하세요.
- 인앱 메시지 수명 주기 리스너로 노출과 닫기(사용자가 소프트 프롬프트를 봤지만 탭하지 않은 경우)를 추적하세요.
- 푸시 권한 옵저버로 시스템 권한 프롬프트 자체의 결과를 추적하세요.
이러한 SDK 이벤트를 원하는 백엔드나 분석 도구로 전달할 수 있습니다.
FAQ
사용자가 시스템 권한 프롬프트를 거부하면 어떻게 되나요?
iOS에서는 시스템 권한 프롬프트를 거부하면 앱의 푸시 알림이 영구적으로 비활성화됩니다. 프롬프트를 다시 표시할 수 없습니다. Android에서는 사용자에게 한 번 더 기회가 주어집니다(총 두 번). 모든 시도가 소진된 후에는 사용자가 기기의 설정 > 알림에서 수동으로 알림을 다시 활성화해야 합니다. Push Permission Prompt 클릭 액션과requestPermission(fallbackToSettings: true)는 모두 사용자를 알림 설정으로 직접 이동시켜 이를 처리합니다.
네이티브 시스템 권한 프롬프트를 커스터마이즈할 수 있나요?
아니요. iOS와 Android의 시스템 권한 프롬프트는 운영 체제가 제어하며 커스터마이즈할 수 없습니다. 커스터마이즈할 수 있는 것은 그 앞에 표시되는 인앱 메시지, 즉 소프트 프롬프트뿐입니다. 소프트 프롬프트로 알림의 가치를 설명하고, 기대치를 설정하며, 시스템 프롬프트에서 “Allow”를 선택할 가능성을 높이세요.임시 알림을 받은 사용자에게도 프롬프트를 표시할 수 있나요?
네, 그리고 그렇게 해야 합니다. 임시 알림 사용자는 이미 앱의 실제 알림을 경험했기 때문에 소프트 프롬프트의 최적 후보입니다. 권장 패턴은 iOS 임시 알림 사용을 참조하세요. 사용자가 임시 알림을 열거나 반응한 직후에 소프트 프롬프트 타이밍을 잡으세요.이전에 푸시를 거부한 사용자에게 다시 프롬프트하려면 어떻게 해야 하나요?
시스템 권한 프롬프트가 소진된 후에는(iOS에서 한 번, Android에서 두 번) 다시 표시할 수 없습니다. 대신requestPermission(fallbackToSettings: true) SDK 메서드나 인앱 메시지의 Push Permission Prompt 클릭 액션을 사용하세요. 두 방법 모두 앱의 알림 설정을 열어 사용자가 수동으로 알림을 활성화할 수 있게 합니다. 알림이 왜 가치 있는지 설명하는 인앱 메시지와 함께 사용하세요.
모든 Android 버전에서 시스템 권한 프롬프트가 필요한가요?
아니요. Android 13(API 레벨 33) 이상에서만 필요합니다. Android 13은 런타임 알림 권한을 도입하여 푸시 알림에 대한 명시적인 사용자 동의를 요구합니다.- 출시: 2022년 8월(Pixel 기기).
- 대상 SDK 요구 사항: 2023년 8월 31일부터 Google Play의 모든 신규 앱과 업데이트는 API 레벨 33 이상을 대상으로 해야 합니다.
- 출처: 알림 권한에 대한 Google의 개발자 가이드.
iOS 임시 푸시 알림
iOS 12+에서 사전 권한 프롬프트 없이 알림 센터로 알림을 보냅니다.
모바일 SDK 참조
requestPermission, optIn, 권한 옵저버, 인앱 클릭 리스너 API.웹 푸시 권한 프롬프트
소프트 프롬프트, 슬라이드다운, 네이티브 웹 푸시 권한 요청을 구성합니다.
인앱 메시지 설정
소프트 프롬프트를 실행할 수 있도록 앱에서 인앱 메시징을 활성화합니다.