메인 콘텐츠로 건너뛰기

개요

구독은 사용자가 메시지를 받을 수 있는 특정 채널(예: 이메일 주소, 전화번호 또는 기기)을 나타냅니다. OneSignal은 네 가지 유형의 구독을 지원합니다:
구독 유형수신 가능 항목
이메일이메일 메시지
SMSSMS, MMS, RCS 메시지
웹 푸시웹 푸시 알림
모바일모바일 푸시 알림, 인앱 메시지, 라이브 활동
각 사용자는 여러 구독을 가질 수 있습니다. 외부 ID를 사용하여 모든 구독에서 사용자를 식별하세요.
Subscriptions page showing Email, SMS, Web Push, and Mobile subscriptions linked by External ID
위 이미지에서 “userA”는 5개의 구독을 가지고 있습니다:
  1. 모바일 (iOS) iOS 앱 설치 후 생성됨. OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결하세요.
  2. SMS iOS 앱 내에서 전화번호가 제공된 후 생성됨. 자세한 내용은 아래 SMS 구독을 참조하세요.
  3. 웹 푸시 웹사이트에서 푸시를 구독한 후 생성됨. 푸시 알림을 받을 수 있습니다.
  4. 이메일 이메일 주소가 제공된 후 생성됨. 이메일 메시지 전송용입니다.
  5. 모바일 (Android) Android 앱 설치 후 생성됨. 푸시 알림, 인앱 메시지 및 라이브 활동을 받을 수 있습니다.
사용자는 최대 20개의 구독을 가질 수 있습니다. 21번째가 추가되면 OneSignal은 가장 오래된 구독(마지막 세션 기준)에서 외부 ID를 제거하고 새 OneSignal ID를 할당하여 비활성 구독에 대해 새 익명 사용자를 효과적으로 생성합니다.그러나 OneSignal은 최소 3개의 이메일 및 3개의 SMS 구독(해당되는 경우)이 유지되도록 보장합니다.자세한 내용은 사용자를 참조하세요.

구독 속성

각 구독에는 다음 속성이 있습니다:
속성설명
채널구독 유형: Email, SMS 또는 Push. 푸시는 모바일(iOS, Android 등) 또는 웹일 수 있습니다. 모바일 푸시 구독만 인앱 메시지를 지원합니다.
구독 상태구독이 메시지를 받을 수 있는지 여부를 나타냅니다. 자세한 내용은 구독 상태를 참조하세요.
마지막 세션OneSignal SDK가 추적한 마지막 세션의 타임스탬프입니다. 이메일/SMS의 경우 가장 최근 푸시 구독을 기반으로 합니다.
사용 기간OneSignal SDK가 추적한 앱 또는 사이트에서 구독이 활성 상태였던 총 시간(초)입니다. 세션이 60초를 초과할 때만 추적됩니다.
세션앱/사이트가 열린 횟수입니다. 포커스를 벗어난 후 30초 이상 지나면 새 세션이 시작됩니다.
첫 번째 세션사용자에 대한 첫 번째 구독이 생성된 타임스탬프입니다.
IP 주소OneSignal SDK를 사용할 때의 네트워크 위치입니다. EU에서는 수집되지 않습니다. 개인 데이터 처리를 참조하세요.
구독 ID특정 구독을 나타내는 UUID입니다. 구독을 식별하는 데 사용됩니다.
OneSignal ID사용자를 나타내는 UUID입니다. 사용자를 참조하세요.
외부 ID사용자 지정 사용자 ID입니다. 여러 구독을 동일한 사용자에게 연결하는 데 도움이 됩니다.
기기구독이 생성된 기기 모델입니다. 예를 들어 웹 푸시 브라우저의 armv81은 Android 기기입니다.
이메일이메일 구독에만 설정됩니다.
전화번호SMS 구독에만 설정됩니다. E.164 형식이어야 합니다.
앱 버전SDK에서: Android versionCode, iOS CFBundleShortVersionString.
SDK 버전사용된 OneSignal SDK의 버전입니다. GitHub > SDKs (select your SDK) > Releases를 참조하세요.
시간대 ID마지막 상호 작용 시 기기에서 가져옵니다.
국가IP 주소에서 파생됩니다.
위치 점위치 추적이 활성화된 경우 위도/경도입니다. 위치 트리거 알림을 참조하세요.
언어 코드구독 생성 시 기기에서 가져옵니다. 다국어 메시징을 참조하세요.
태그사용자 지정 키-값 메타데이터입니다. 태그를 참조하세요.
푸시 토큰푸시 전달에 사용되는 플랫폼 토큰(예: APNS 또는 FCM)입니다. 푸시 구독에만 해당됩니다.
- iOS 푸시 APNS 토큰 형식: 64자, 16진수 문자만 (0-9,a-f).
- Android 푸시 FCM 토큰 형식: 일반적으로 163자, 영숫자 문자, 하이픈, 콜론 및 밑줄을 포함할 수 있습니다.
루팅됨Android 기기가 루팅(탈옥)되었는지 여부를 나타냅니다.

구독 상태

일반적으로 구독은 메시지를 받을 수 있거나(구독됨) 메시지를 받을 수 없습니다(구독 취소됨). 세부 사항은 채널마다 다릅니다:
상태모바일웹 푸시이메일SMS
구독됨사용자가 푸시 권한을 허용했습니다. iOS 임시 푸시를 사용하면 모든 iOS 구독이 구독됨 상태로 시작됩니다.사용자가 브라우저 권한 프롬프트에서 “허용”을 클릭했습니다.이메일 주소가 유효하고 사용자가 동의했습니다.전화번호가 유효하고 사용자가 동의했습니다.
구독 취소됨푸시를 받을 수 없지만 인앱 메시지는 받을 수 있습니다. 제거, 구독 취소 및 잘못된 토큰 처리를 참조하세요.푸시를 받을 수 없습니다. 구독 취소 및 잘못된 토큰 처리를 참조하세요.사용자가 구독 취소 링크를 통해 옵트아웃했습니다. 트랜잭션 이메일의 경우 재정의할 수 있습니다.사용자가 “STOP” 또는 기타 옵트아웃 키워드로 답장했습니다.
구독한 적 없음사용자가 프롬프트를 받은 적이 없거나 권한을 허용한 적이 없습니다.사용자가 프롬프트를 받은 적이 없거나 프롬프트를 차단했습니다.해당 없음해당 없음
API에서 invalid_identifier: true는 구독 취소를 의미합니다. 자세한 내용은 notification_types를 확인하세요.

notification_types

실패 이유를 포함하여 구독이 메시지를 받을 수 있는 능력을 나타냅니다. 프론트엔드 SDK를 통해 자동으로 업데이트되거나 API를 통해 수동으로 업데이트됩니다. 사용자 보기 API 또는 CSV 내보내기를 통해 볼 수 있습니다.
1 또는 양수 = 구독됨.
  • 구독이 이 채널에서 메시지를 받을 수 있습니다.
  • 사용자를 대신하여 메시지를 활성화하는 경우 enabled 속성과 함께 사용할 수 있습니다. 푸시 구독의 경우 푸시 알림을 받으려면 여전히 유효한 token이 설정되어야 합니다. 자세한 내용은 SDK 설정 문서를 참조하세요.
0, -99 = 구독한 적 없음.
  • 구독이 아직 채널을 구독하지 않았습니다.
-2 = 구독 취소됨.
  • 구독이 이 채널에서 메시지를 받을 수 없습니다.
  • 사용자를 대신하여 메시지를 끄는 경우 enabled 속성을 false로 설정하여 사용할 수 있습니다. 메시지 권한을 끌 때 권장되는 값입니다.
  • 사용자가 구독을 취소하면 자동으로 설정됩니다.
-3, -5 = Android Support Library Error.앱의 Android Support Library를 추가하거나 업데이트하세요.-4, -8, -11, -12 = Android Google Play Services Library Error.-6 = Android Invalid Google Project Number.
  • FCMv1 Sender ID가 이 token이 속한 원본과 일치하지 않습니다. 앱의 logcat을 확인하세요. 디버그 로그 가져오기를 참조하세요.
-7, -9 = Android Outdated Google Play Services App
  • 기기에서 Google Play Services 앱을 업데이트하거나 활성화하세요.
-10 = 구독되지 않음.
  • 푸시 구독이 앱을 제거했거나 기기 설정에서 구독을 취소했습니다.
  • 웹 푸시가 알림을 차단했거나 모든 데이터와 워커를 지웠습니다.
-13 = iOS missing_push_capability.
  • 모든 단계가 구현되었는지 확인하려면 SDK 설정 문서를 검토하세요. 채널 설정을 참조하세요.
-14, -16, -17 = iOS APNS Errors.-15 = iOS Simulator Error.
  • iOS Simulator에는 iOS 16.4 이상이 필요합니다. 다른 시뮬레이터 또는 기기를 사용하세요.
-18 = 프롬프트 표시 안 됨.
  • 구독이 구독하라는 프롬프트를 받은 적이 없습니다. 이는 필수 권한 프롬프트만 추적하며 인앱 메시지는 포함하지 않습니다.
-19 = 프롬프트 표시되었지만 응답 없음.
  • 구독이 프롬프트를 받았지만 응답을 제공하지 않았습니다.
-20, -21 = temp_web_record. 웹, pushSubscriptionchange 권한 취소됨-22 = 대시보드를 통해 수동으로 구독 취소됨.
  • 권한이 취소되었습니다.
-23, -24 = 웹 Service Worker Error.-31 = REST API를 통해 비활성화됨.-98 = SMS 구독이 이중 옵트인을 기다리는 중입니다.

모바일 구독

모바일 구독은 iOS, Android, Huawei 또는 Amazon 기기를 나타내며 다음을 지원합니다:
  • 푸시 알림
  • 인앱 메시지
  • 라이브 활동
사용자가 OneSignal SDK로 앱을 설치하고 열 때 자동으로 생성됩니다.
각 모바일 구독은 생성된 기기 및 푸시 토큰에 연결됩니다. 앱이 제거되고 동일한 기기에 다시 설치되면 새 구독이 생성됩니다.사용자가 앱을 열 때마다 OneSignal.login을 호출하여 외부 ID가 설정되고 구독이 사용자에게 연결되도록 하세요.

모바일 구독 업데이트

OneSignal 모바일 SDK를 사용하여 모바일 구독 속성을 업데이트하세요. CSV 가져오기 기능을 통해 태그, 언어 및 기타 일부 속성을 업데이트할 수 있습니다. 모바일 구독은 사용자구독 API를 통해서도 생성 및 업데이트할 수 있지만 대부분의 사용 사례에는 모바일 SDK가 권장됩니다.

제거, 구독 취소 및 잘못된 푸시 토큰 처리

다음의 경우 모바일 구독은 푸시 알림 수신을 중지합니다:
  • 앱을 제거
  • 기기 설정에서 푸시를 비활성화하고 앱을 다시 열지 않음
  • 푸시 토큰 만료
이러한 경우 푸시 알림을 보낼 때 구독 상태가 구독 취소됨으로 설정됩니다. 자세한 내용은 아래 푸시 구독 상태는 언제 업데이트되나요?를 참조하세요.
  • 사용자가 동일한 기기 또는 새 기기에 앱을 다시 설치하면 새 구독이 생성되며 메시지를 받으려면 다시 구독해야 합니다.
  • 사용자가 기기 설정에서 푸시를 다시 활성화하면 앱을 열 때 구독 상태가 구독됨으로 설정되고 푸시 토큰이 업데이트됩니다.
  • 푸시 토큰이 만료되면 사용자가 동일한 기기에서 앱을 열 때 구독 상태 및 새 푸시 토큰이 업데이트됩니다.
다음을 통해 변경 사항을 추적하세요:

웹 푸시 구독

웹 푸시 구독은 특정 기기, 브라우저 및 브라우저 프로필에 연결됩니다. Chrome 데스크톱에서 구독한 사용자는 해당 모바일 기기에서도 웹사이트를 구독하지 않는 한 Chrome 모바일에서 푸시를 받을 수 없으며, 이는 별도의 웹 푸시 구독을 생성합니다. 다음 시나리오에서 새 웹 푸시 구독이 생성됩니다:
  • 사용자가 브라우저의 시스템 수준 네이티브 권한 프롬프트에서 “허용”을 클릭하여 웹사이트를 구독합니다. 이렇게 하면 고유한 푸시 토큰 및 구독 ID가 생성됩니다.
  • 사용자가 브라우저 데이터(기록, 캐시, 쿠키, 로컬 스토리지)를 지우고 사이트를 다시 방문합니다. 이렇게 하면 새 고유 구독 ID가 생성됩니다.
웹 푸시 구독 ID는 절대 변경되지 않습니다. 그러나 사용자가 브라우저 데이터를 지우고 사이트로 돌아오거나 다른 브라우저/브라우저 프로필에서 구독하는 경우 새 구독 ID가 생성됩니다.사용자가 사이트를 열 때마다 또는 구독 변경 리스너 내에서 OneSignal.login을 호출하여 외부 ID가 설정되고 구독이 사용자에게 연결되도록 하세요.

웹 푸시 구독 업데이트

OneSignal 웹 SDK를 사용하여 웹 푸시 구독 속성을 업데이트하세요. CSV 가져오기 기능을 통해 태그, 언어 및 기타 일부 속성을 업데이트할 수 있습니다. 웹 푸시 구독은 REST API를 통해 생성할 수 없습니다. 사용자구독 API로 업데이트할 수 있지만 대부분의 사용 사례에는 웹 SDK가 권장됩니다.

구독 취소 및 잘못된 푸시 토큰 처리

다음의 경우 웹 푸시 구독은 푸시 알림 수신을 중지합니다:
  • 브라우저 데이터(기록, 캐시, 쿠키, 로컬 스토리지)를 지움
  • 브라우저 시스템 설정에서 푸시를 비활성화
  • 푸시 토큰 만료
이러한 경우 푸시 알림을 보낼 때 구독 상태가 구독 취소됨으로 설정됩니다. 자세한 내용은 아래 푸시 구독 상태는 언제 업데이트되나요?를 참조하세요.
  • 사용자가 브라우저 데이터를 지운 후 사이트로 돌아오면 새 구독이 생성되며 자동 재구독이 활성화된 경우 자동으로 다시 구독되어 메시지를 받습니다.
  • 사용자가 브라우저 설정에서 푸시를 다시 활성화하면 사이트로 돌아올 때 구독 상태가 구독됨으로 설정됩니다.
  • 푸시 토큰이 만료되면 사용자가 사이트로 돌아올 때 구독 상태 및 새 푸시 토큰이 업데이트됩니다.
Chromium은 2025년 10월에 블로그 게시물을 게시하여 사이트 참여도가 낮은 사용자에게 대량의 알림을 보내는 경우 자동으로 푸시 권한을 취소하는 변경 사항에 대해 설명했습니다. 사용자가 낮은 참여 점수를 갖는 것으로 간주되는 임계값은 약 30일의 비활성 기간인 것으로 보입니다. 취소되면 최종 사용자는 Chrome에서 직접 알림을 받아야 합니다.
다음을 통해 변경 사항을 추적하세요:

이메일 구독

이메일 구독은 이메일 주소를 기반으로 하며 이메일 전달에만 사용됩니다. 이는 태그 설정과는 다릅니다. 다음을 통해 이메일 구독을 생성하세요:
  1. SDK addEmail 메서드 또는 이메일 프롬프트 - OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결한 후 이러한 메서드를 사용하세요.
  2. 사용자 생성 API 또는 이메일 생성 API
  3. 대시보드 CSV 가져오기 또는 수동으로 이메일 주소 추가
이메일은 앱마다 고유합니다. 동일한 이메일을 삭제하고 다시 추가하면 새 구독 ID가 생성됩니다.이메일 구독을 생성할 때 external_id를 포함하여 사용자에게 연결하는 것이 권장됩니다.

이메일 구독 관리

사용자에게 연결 이메일 구독을 생성할 때 external_id를 설정하여 사용자에게 연결하세요.
  • SDK를 사용하는 경우 addEmail을 호출하기 전에 login 메서드를 호출하여 external_id를 설정하고 이메일 구독을 사용자에게 연결하세요.
  • CSV 가져오기 또는 REST API를 사용하는 경우 이메일과 함께 external_id 식별자를 설정하세요.
구독 상태 새로 생성된 이메일 구독은 달리 지정하지 않는 한 자동으로 구독됨으로 설정됩니다. 다음의 경우 이메일 구독은 구독 취소될 수 있습니다:
  • 이메일을 보낼 때 사용자가 구독 취소 링크를 통해 옵트아웃
  • API를 통해 enabledfalse로 설정
  • 대시보드를 사용하여 옵션 버튼을 통해 구독 취소 다음을 통해 이메일 구독은 다시 구독될 수 있습니다:
  • API를 통해 enabledtrue로 설정
  • 대시보드를 사용하여 옵션 버튼을 통해 구독
사용자가 이메일 구독을 취소한 경우 구독 취소된 이메일에 전송하여 구독 취소 상태를 유지하면서 중요한 이메일을 보낼 수 있습니다.

SMS 구독

SMS 구독은 E.164 형식의 전화번호(예: +14155551234)에 연결됩니다. 다음을 통해 SMS 구독을 생성하세요:
  1. SDK addSms 메서드 또는 SMS 프롬프트 — 외부 ID를 설정하고 구독을 사용자에게 연결하려면 먼저 OneSignal.login을 호출하세요.
  2. 사용자 생성 또는 SMS 생성 API
  3. 대시보드 CSV 가져오기
전화번호는 앱마다 고유합니다. 삭제 후 다시 추가하면 새 구독 ID가 생성됩니다.SMS 구독을 생성할 때 external_id를 포함하여 사용자에게 연결하세요.

SMS 구독 관리

사용자에게 연결 SMS 구독을 생성할 때 external_id를 설정하여 사용자에게 연결하세요.
  • SDK를 사용하는 경우 addSms를 호출하기 전에 login 메서드를 호출하여 external_id를 설정하고 SMS 구독을 사용자에게 연결하세요.
  • CSV 가져오기 또는 REST API를 사용하는 경우 전화번호와 함께 external_id 식별자를 설정하세요.
구독 상태 새로 생성된 SMS 구독은 달리 지정하지 않는 한 자동으로 구독됨으로 설정됩니다. 다음의 경우 SMS 구독은 구독 취소될 수 있습니다:
  • 사용자가 “STOP” 또는 기타 옵트아웃 키워드로 답장
  • API를 통해 enabledfalse로 설정
  • 대시보드의 옵션 버튼을 통해 구독 취소
다음의 경우 SMS 구독은 다시 구독될 수 있습니다:
  • 사용자가 “START” 또는 기타 옵트인 키워드로 답장
  • API를 통해 enabledtrue로 설정
  • 대시보드의 옵션 버튼을 통해 다시 구독
사용자의 동의 없이 SMS 구독을 다시 구독하는 것은 통신사 준수 규정(TCPA, CTIA)을 위반하며 통신사 필터링 또는 계정 정지로 이어질 수 있습니다.

구독 가져오기 또는 마이그레이션

다음을 사용하여 다른 제공업체에서 푸시 토큰, 이메일 주소 및 전화번호를 가져오세요:

OneSignal로 마이그레이션

다른 제공업체에서 푸시 토큰, 이메일 및 전화번호를 가져오세요.

구독 삭제

다음을 위해 구독을 삭제할 수 있습니다:
  • 데이터 개인정보 보호
  • 비활성 레코드 정리

사용자 삭제

개인정보 보호 또는 정리를 위해 구독 및 사용자 데이터를 삭제하세요.
무료 플랜에서는 18개월 이상 활동이 없는 구독이 자동으로 삭제됩니다.

FAQ

푸시 구독 상태는 언제 업데이트되나요?

푸시 구독 상태는 두 가지 메커니즘을 통해 업데이트됩니다: 1. 사용자가 앱 또는 사이트를 열 때 OneSignal SDK는 푸시 토큰이 유효한지, 알림 권한이 여전히 허용되었는지 확인한 후 즉시 구독 상태를 업데이트합니다. 예를 들어 사용자가 기기 설정에서 푸시 알림을 비활성화한 후 앱을 다시 열면 SDK가 변경 사항을 감지하고 즉시 구독을 구독 취소됨으로 표시합니다. SDK의 구독 관찰자(모바일 | )를 사용하여 이러한 변경 사항을 캡처하고 자체 데이터베이스와 동기화할 수 있습니다. 2. 푸시 알림을 보낼 때 사용자가 앱을 제거하거나, 브라우저 데이터를 지우거나, 푸시를 비활성화하고 다시 돌아오지 않으면 OneSignal은 알림을 보낼 때까지 변경 사항을 감지할 수 없습니다. 푸시 서비스(FCM, APNs, HMS)가 토큰을 유효하지 않다고 보고하면 OneSignal은 구독을 구독 취소됨으로 표시합니다. 이 감지는 일반적으로 2개 이상의 메시지가 필요합니다. 푸시 서비스는 유효하지 않은 토큰을 즉시 거부하지 않기 때문입니다:
전송발생하는 일
메시지 1기기에 전달됨. 이후 사용자가 기기 설정에서 구독을 취소하거나 앱을 제거합니다.
메시지 2푸시 서비스가 메시지를 수락하지만 기기에서 받지 못합니다. 푸시 서비스가 아직 토큰을 거부하지 않았기 때문에 OneSignal은 “전달됨”으로 보고합니다.
메시지 3푸시 서비스가 토큰을 거부합니다. OneSignal이 구독을 구독 취소됨으로 표시합니다.
메시지 4 이상OneSignal이 이 구독에 대한 전달을 시도하지 않습니다.
이벤트 스트림을 사용하여 메시지 전송 시 실시간으로 구독 취소를 감지하세요.
모든 사용자에게 장기간 전송하지 않으면 구독 취소가 자동으로 누적되어 전송을 재개할 때 대규모 급증으로 나타납니다. 구독 취소를 점진적으로 감지하려면 한 달에 한두 번 이상 모든 사용자에게 전송하세요. 구독 취소 급증에 대한 자세한 내용은 FCM 만료 토큰 FAQ를 참조하세요.
Apple은 구독 취소 보고를 14일 이상 지연합니다. 사용자 개인정보를 보호하기 위해 Apple은 앱 제거 또는 권한 취소를 즉시 보고하지 않습니다. 사용자가 푸시를 비활성화한 후 앱을 열면 OneSignal은 SDK를 통해 즉시 변경 사항을 감지합니다. 사용자가 앱을 다시 열지 않으면 알림을 보낸 후 Apple이 유효하지 않은 토큰을 보고하는 데 몇 주가 걸릴 수 있습니다.자세한 내용은 Apple ForumTechnical Note를 참조하세요. 대시보드 또는 API를 사용하여 오래된 구독을 삭제하여 잠재고객을 깔끔하게 유지하세요.

사용자가 기기 설정에서 알림을 끄고 앱을 다시 열지 않으면 어떻게 되나요?

구독은 해당 기기에 알림을 보낼 때까지 OneSignal에서 구독됨으로 표시된 상태로 유지됩니다. 2번 이상 전송 시도 후 푸시 서비스가 토큰을 유효하지 않다고 보고하면 OneSignal이 구독을 구독 취소됨으로 표시합니다. 전체 순서는 위의 푸시 구독 상태는 언제 업데이트되나요?를 참조하세요.

관련 페이지

사용자

OneSignal 사용자 모델, 별칭, 그리고 사용자와 구독의 관계.

테스트 구독

기기를 찾아 테스트 구독으로 표시하여 더 쉽게 테스트하세요.

사용자 삭제

개인정보 보호 또는 정리를 위해 구독 및 사용자 데이터를 삭제하세요.

OneSignal로 마이그레이션

다른 제공업체에서 푸시 토큰, 이메일 및 전화번호를 가져오세요.