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

OneSignal 대시보드 Audience > Subscriptions 페이지. 외부 ID를 통해 단일 사용자와 연결된 여러 구독을 보여줍니다.
- 모바일 (iOS) iOS 앱 설치 후 생성됨.
OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결하세요. - SMS iOS 앱 내에서 제공된 전화번호 후 생성됨. 자세한 내용은 아래 SMS 구독을 참조하세요.
- 웹 푸시 웹사이트에서 푸시를 구독한 후 생성됨. 푸시 알림을 받을 수 있습니다.
- 이메일 이메일 주소가 제공된 후 생성됨. 이메일 메시지 전송용입니다.
- 모바일 (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 기기가 루팅(탈옥)되었는지 여부를 나타냅니다. |
구독 상태
일반적으로 구독은 메시지를 받을 수 있거나(구독됨) 메시지를 받을 수 없습니다(구독 취소됨). 그러나 몇 가지 예외가 있습니다: 모바일 구독- 구독됨: 사용자가 푸시 알림을 받을 수 있는 권한을 부여했습니다.
- iOS 임시 푸시가 활성화된 경우 사용자가 비활성화할 때까지 모든 iOS 모바일 구독이 구독됩니다.
- 구독 취소됨: 구독은 푸시 알림을 받을 수 없지만 인앱 메시지는 받을 수 있습니다.
- 자세한 내용은 제거, 구독 취소 및 잘못된 푸시 토큰 처리를 참조하세요.
- 구독한 적 없음 – 사용자가 권한을 부여한 적이 없습니다(구독 취소와 동일).
- 구독됨: 사용자가 푸시 알림을 받을 수 있는 권한을 부여했습니다.
- 구독 취소됨: 구독은 푸시 알림을 받을 수 없습니다.
- 자세한 내용은 아래 구독 취소 및 잘못된 푸시 토큰 처리를 참조하세요.
- 구독됨: 사용자가 이메일 메시지를 받는 데 동의를 제공했고 이메일 주소가 유효해야 합니다.
- 구독 취소됨: 사용자가 이메일 수신을 거부했지만 필요한 경우 재정의할 수 있습니다.
- 자세한 내용은 아래 이메일 구독을 참조하세요.
- 구독됨: 사용자가 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.- logcat을 확인하세요. 디버그 로그 가져오기를 참조하세요.
- 앱에서 Google Play Services Library를 업그레이드하고 Google Play Services 오류에 대한 앱의 logcat을 확인하세요. 디버그 로그 가져오기를 참조하세요.
-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.- 기기가 APNS에 연결하는 데 문제가 있습니다. iOS 문제 해결 가이드 및 디버그 로그 가져오기를 확인하세요.
-15 = iOS Simulator Error.- iOS Simulator에는 iOS 16.4 이상이 필요합니다. 다른 시뮬레이터 또는 기기를 사용하세요.
-18 = 프롬프트 표시 안 됨.- 구독이 구독하라는 프롬프트를 받은 적이 없습니다. 이는 필수 권한 프롬프트만 추적하며 인앱 메시지는 포함하지 않습니다.
-19 = 프롬프트 표시되었지만 응답 없음.- 구독이 프롬프트를 받았지만 응답을 제공하지 않았습니다.
-20, -21 = temp_web_record. 웹, pushSubscriptionchange 권한 취소됨-22 = 대시보드를 통해 수동으로 구독 취소됨.- 권한이 취소되었습니다.
-23, -24 = 웹 Service Worker Error.- 웹 SDK 문제 해결을 참조하세요.
-31 = REST API를 통해 비활성화됨.-98 = SMS 구독이 이중 옵트인을 기다리는 중입니다.모바일 구독
모바일 구독은 iOS, Android, Huawei 또는 Amazon 기기를 나타내며 다음을 지원합니다:- 푸시 알림
- 인앱 메시지
- 라이브 활동
각 모바일 구독은 생성된 기기 및 푸시 토큰에 연결됩니다. 앱이 제거되고 동일한 기기에 다시 설치되면 새 구독이 생성됩니다.사용자가 앱을 열 때마다
OneSignal.login을 호출하여 외부 ID가 설정되고 구독이 사용자에게 연결되도록 하세요.모바일 구독 업데이트
모바일 구독 속성은 OneSignal 모바일 SDK를 통해 업데이트하는 것이 권장됩니다.- 푸시 권한 프롬프트 및 권한/구독 변경 관찰
- 사용자 로그인하여 외부 ID 및 별칭 설정
- 태그 추가
- 언어 설정
제거, 구독 취소 및 잘못된 푸시 토큰 처리
다음의 경우 모바일 구독은 푸시 알림 수신을 중지합니다:- 앱을 제거
- 기기 설정에서 푸시를 비활성화하고 앱을 다시 열지 않음
- 푸시 토큰 만료
- 사용자가 동일한 기기 또는 새 기기에 앱을 다시 설치하면 새 구독이 생성되며 메시지를 받으려면 다시 구독해야 합니다.
- 사용자가 기기 설정에서 푸시를 다시 활성화하면 앱을 열 때 구독 상태가 구독됨으로 설정되고 푸시 토큰이 업데이트됩니다.
- 푸시 토큰이 만료되면 사용자가 동일한 기기에서 앱을 열 때 구독 상태 및 새 푸시 토큰이 업데이트됩니다.
- 이벤트 스트림 - 푸시 전송 시 구독 취소 감지
- 푸시 보고서 - 푸시 전송 시 구독 취소 감지
- SDK의 구독 변경 리스너 사용 - 사용자가 기기 설정에서 푸시를 비활성화한 후 앱을 열 때 구독 취소 감지
웹 푸시 구독
웹 푸시 구독은 특정 기기, 브라우저 및 브라우저 프로필에 연결됩니다. Chrome 데스크톱에서 구독한 사용자는 해당 모바일 기기에서도 웹사이트를 구독하지 않는 한 Chrome 모바일에서 푸시를 받을 수 없으며, 이는 별도의 웹 푸시 구독을 생성합니다. 다음 시나리오에서 새 웹 푸시 구독이 생성됩니다:- 사용자가 브라우저의 시스템 수준 네이티브 권한 프롬프트에서 “허용”을 클릭하여 웹사이트를 구독합니다. 이렇게 하면 고유한 푸시 토큰 및 구독 ID가 생성됩니다.
- 사용자가 브라우저 데이터(기록, 캐시, 쿠키, 로컬 스토리지)를 지우고 사이트를 다시 방문합니다. 이렇게 하면 새 고유 구독 ID가 생성됩니다.
웹 푸시 구독 ID는 절대 변경되지 않습니다. 그러나 사용자가 브라우저 데이터를 지우고 사이트로 돌아오거나 다른 브라우저/브라우저 프로필에서 구독하는 경우 새 구독 ID가 생성됩니다.사용자가 사이트를 열 때마다 또는 구독 변경 리스너 내에서
OneSignal.login을 호출하여 외부 ID가 설정되고 구독이 사용자에게 연결되도록 하세요.웹 푸시 구독 업데이트
웹 푸시 구독 속성은 OneSignal 웹 SDK를 통해 업데이트하는 것이 권장됩니다.- 푸시 권한 프롬프트 및 권한/구독 변경 관찰
- 사용자 로그인하여 외부 ID 및 별칭 설정
- 태그 추가
- 언어 설정
구독 취소 및 잘못된 푸시 토큰 처리
다음의 경우 웹 푸시 구독은 푸시 알림 수신을 중지합니다:- 브라우저 데이터(기록, 캐시, 쿠키, 로컬 스토리지)를 지움
- 브라우저 시스템 설정에서 푸시를 비활성화
- 푸시 토큰 만료
- 사용자가 브라우저 데이터를 지운 후 사이트로 돌아오면 새 구독이 생성되며 자동 재구독이 활성화된 경우 자동으로 다시 구독되어 메시지를 받습니다.
- 사용자가 브라우저 설정에서 푸시를 다시 활성화하면 사이트로 돌아올 때 구독 상태가 구독됨으로 설정됩니다.
- 푸시 토큰이 만료되면 사용자가 사이트로 돌아올 때 구독 상태 및 새 푸시 토큰이 업데이트됩니다.
다음을 통해 변경 사항 추적:
- 이벤트 스트림 - 푸시 전송 시 구독 취소 감지
- 푸시 보고서 - 푸시 전송 시 구독 취소 감지
- SDK의 구독 변경 리스너 사용 - 사용자가 푸시를 비활성화한 후 사이트로 돌아올 때 구독 취소 감지
이메일 구독
이메일 구독은 이메일 주소를 기반으로 하며 이메일 전달에만 사용됩니다. 이는 태그 설정과는 다릅니다. 다음을 통해 이메일 구독 생성:- SDK
addEmail메서드 또는 이메일 프롬프트 -OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결한 후 이러한 메서드를 사용하세요. - 사용자 생성 API 또는 이메일 생성 API
- 대시보드 CSV 가져오기 또는 수동으로 이메일 주소 추가
이메일은 앱마다 고유합니다. 동일한 이메일을 삭제하고 다시 추가하면 새 구독 ID가 생성됩니다.이메일 구독을 생성할 때
external_id를 포함하여 사용자에게 연결하는 것이 권장됩니다.이메일 구독 관리
사용자에게 연결 이메일 구독을 생성할 때external_id를 설정하여 사용자에게 연결하세요.
- SDK를 사용하는 경우
addEmail을 호출하기 전에login메서드를 호출하여external_id를 설정하고 이메일 구독을 사용자에게 연결하세요. - CSV 가져오기 또는 REST API를 사용하는 경우 이메일과 함께
external_id식별자를 설정하세요.
- 이메일을 보낼 때 사용자가 구독 취소 링크를 통해 옵트아웃
- API를 통해
enabled를false로 설정 - 대시보드를 사용하여 옵션 버튼을 통해 구독 취소 다음을 통해 이메일 구독은 다시 구독될 수 있습니다:
- API를 통해
enabled를true로 설정 - 대시보드를 사용하여 옵션 버튼을 통해 구독
SMS 구독
SMS 구독은 E.164 형식의 전화번호에 연결됩니다. 다음을 통해 생성:- SDK
addSms또는 SMS 프롬프트 -OneSignal.login을 호출하여 외부 ID를 설정하고 구독을 사용자에게 연결한 후 이러한 메서드를 사용하세요. - 사용자 생성 또는 SMS 생성 API
- CSV 가져오기
전화번호는 앱마다 고유합니다. 삭제 후 다시 추가하면 새 구독 ID가 생성됩니다.SMS 구독을 생성할 때
external_id를 포함하여 사용자에게 연결하는 것이 권장됩니다.SMS 구독 관리
- 사용자가 “STOP” 또는 기타 SMS 동의 키워드로 답장하여 구독 취소
- 사용자는 “START” 또는 기타 SMS 동의 키워드로 답장하여 다시 구독할 수도 있습니다
- API
enabled속성을 통해 구독 업데이트
구독 가져오기 또는 마이그레이션
다음을 사용하여 다른 제공업체에서 푸시 토큰, 이메일 주소 및 전화번호를 가져오세요:자세한 내용은 OneSignal로 마이그레이션을 참조하세요.
구독 삭제
다음을 위해 구독을 삭제할 수 있습니다:- 데이터 개인정보 보호
- 비활성 레코드 정리
무료 플랜에서는 18개월 이상 활동이 없는 구독이 자동으로 삭제됩니다.
FAQ
푸시 구독 상태는 언제 업데이트되나요?
푸시 구독 상태는 다음과 같이 업데이트됩니다:- 사용자가 앱을 열면 OneSignal SDK는 푸시 토큰이 유효한지, 알림 권한이 부여되었는지 확인한 다음 그에 따라 구독 상태를 업데이트합니다.
- SDK 구독 관찰자 메서드를 사용하여 이 이벤트를 캡처하고 데이터베이스로 보낼 수 있습니다.
- 구독에 2개 이상의 알림을 보낸 후. 이벤트 스트림을 사용하여 메시지 전송 시 구독 취소를 감지하세요.
- 메시지 1: 전달됨. 사용자가 기기에서 수신한 후 기기 설정에서 구독을 취소합니다.
- 메시지 2: 전달됨(하지만 기기에서 수신하지 않음).
- 메시지 3: 실패(구독 취소로 표시됨)
- 메시지 4: 구독에 전송되지 않음.
사용자 개인정보를 보호하기 위해 Apple은 구독 취소/제거를 보고하기 전에 지연(일반적으로 14일 이상)을 도입했습니다. 자세한 내용은 Apple Forum 및 Technical Note를 참조하세요.기기가 구독을 취소하고 앱을 열면 OneSignal은 이 구독 취소 이벤트를 즉시 감지하고 SDK를 통해 레코드를 업데이트합니다. 그러나 기기가 앱을 제거하거나 구독을 취소하고 앱을 열지 않으면 Apple이 구독 취소 이벤트를 보고하는 데 몇 주가 걸릴 수 있습니다.대시보드 또는 API를 사용하여 오래된 구독을 삭제하세요.