메인 콘텐츠로 건너뛰기

개요

구독은 사용자가 메시지를 받을 수 있는 특정 채널(예: 이메일 주소, 전화번호 또는 기기)을 나타냅니다. OneSignal은 네 가지 유형의 구독을 지원합니다:
  • 이메일 – 이메일 메시지 전송용
  • SMS – 문자 메시지 전송용
  • 웹 푸시 – 웹 브라우저를 통한 푸시 알림용
  • 모바일 – 모바일 기기에서 푸시 알림, 인앱 메시지 및 라이브 활동용
각 사용자는 여러 구독을 가질 수 있습니다. 외부 ID를 사용하여 모든 구독에서 사용자를 식별하세요.

OneSignal 대시보드 Audience > Subscriptions 페이지. 외부 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 구독
  • 구독됨: 사용자가 SMS 메시지를 받는 데 동의를 제공했고 전화번호가 유효해야 합니다.
  • 구독 취소됨: 사용자가 SMS 메시지 수신을 거부했습니다.
    • 자세한 내용은 아래 SMS 구독을 참조하세요.
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 형식의 전화번호에 연결됩니다. 다음을 통해 생성:
  1. SDK addSms 또는 SMS 프롬프트 - OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결한 후 이러한 메서드를 사용하세요.
  2. 사용자 생성 또는 SMS 생성 API
  3. CSV 가져오기
전화번호는 앱마다 고유합니다. 삭제 후 다시 추가하면 새 구독 ID가 생성됩니다.SMS 구독을 생성할 때 external_id를 포함하여 사용자에게 연결하는 것이 권장됩니다.

SMS 구독 관리

  • 사용자가 “STOP” 또는 기타 SMS 동의 키워드로 답장하여 구독 취소
    • 사용자는 “START” 또는 기타 SMS 동의 키워드로 답장하여 다시 구독할 수도 있습니다
  • API enabled 속성을 통해 구독 업데이트

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

다음을 사용하여 다른 제공업체에서 푸시 토큰, 이메일 주소 및 전화번호를 가져오세요:
자세한 내용은 OneSignal로 마이그레이션을 참조하세요.

구독 삭제

다음을 위해 구독을 삭제할 수 있습니다:
  • 데이터 개인정보 보호
  • 비활성 레코드 정리
자세한 내용은 사용자 삭제를 참조하세요.
무료 플랜에서는 18개월 이상 활동이 없는 구독이 자동으로 삭제됩니다.

FAQ

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

푸시 구독 상태는 다음과 같이 업데이트됩니다:
  1. 사용자가 앱을 열면 OneSignal SDK는 푸시 토큰이 유효한지, 알림 권한이 부여되었는지 확인한 다음 그에 따라 구독 상태를 업데이트합니다.
  • SDK 구독 관찰자 메서드를 사용하여 이 이벤트를 캡처하고 데이터베이스로 보낼 수 있습니다.
  1. 구독에 2개 이상의 알림을 보낸 후. 이벤트 스트림을 사용하여 메시지 전송 시 구독 취소를 감지하세요.
예시:
  • 메시지 1: 전달됨. 사용자가 기기에서 수신한 후 기기 설정에서 구독을 취소합니다.
  • 메시지 2: 전달됨(하지만 기기에서 수신하지 않음).
  • 메시지 3: 실패(구독 취소로 표시됨)
  • 메시지 4: 구독에 전송되지 않음.
사용자 개인정보를 보호하기 위해 Apple은 구독 취소/제거를 보고하기 전에 지연(일반적으로 14일 이상)을 도입했습니다. 자세한 내용은 Apple ForumTechnical Note를 참조하세요.기기가 구독을 취소하고 앱을 열면 OneSignal은 이 구독 취소 이벤트를 즉시 감지하고 SDK를 통해 레코드를 업데이트합니다. 그러나 기기가 앱을 제거하거나 구독을 취소하고 앱을 열지 않으면 Apple이 구독 취소 이벤트를 보고하는 데 몇 주가 걸릴 수 있습니다.대시보드 또는 API를 사용하여 오래된 구독을 삭제하세요.

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

사용자가 기기 설정에서 알림을 끄면 해당 기기에서 더 이상 푸시 알림을 받을 수 없습니다. 기기에 알림을 보낸 후 구독 취소로 표시됩니다. 자세한 내용은 푸시 구독 상태는 언제 업데이트되나요?를 참조하세요.