개요
구독은 사용자가 메시지를 받을 수 있는 특정 채널(예: 이메일 주소, 전화번호 또는 기기)을 나타냅니다. OneSignal은 네 가지 유형의 구독을 지원합니다:| 구독 유형 | 수신 가능 항목 |
|---|---|
| 이메일 | 이메일 메시지 |
| SMS | SMS, MMS, RCS 메시지 |
| 웹 푸시 | 웹 푸시 알림 |
| 모바일 | 모바일 푸시 알림, 인앱 메시지, 라이브 활동 |

- 모바일 (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 기기가 루팅(탈옥)되었는지 여부를 나타냅니다. |
구독 상태
일반적으로 구독은 메시지를 받을 수 있거나(구독됨) 메시지를 받을 수 없습니다(구독 취소됨). 세부 사항은 채널마다 다릅니다:| 상태 | 모바일 | 웹 푸시 | 이메일 | 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.- 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 형식의 전화번호(예:+14155551234)에 연결됩니다.
다음을 통해 SMS 구독을 생성하세요:
- SDK
addSms메서드 또는 SMS 프롬프트 — 외부 ID를 설정하고 구독을 사용자에게 연결하려면 먼저OneSignal.login을 호출하세요. - 사용자 생성 또는 SMS 생성 API
- 대시보드 CSV 가져오기
전화번호는 앱마다 고유합니다. 삭제 후 다시 추가하면 새 구독 ID가 생성됩니다.SMS 구독을 생성할 때
external_id를 포함하여 사용자에게 연결하세요.SMS 구독 관리
사용자에게 연결 SMS 구독을 생성할 때external_id를 설정하여 사용자에게 연결하세요.
- SDK를 사용하는 경우
addSms를 호출하기 전에login메서드를 호출하여external_id를 설정하고 SMS 구독을 사용자에게 연결하세요. - CSV 가져오기 또는 REST API를 사용하는 경우 전화번호와 함께
external_id식별자를 설정하세요.
- 사용자가 “STOP” 또는 기타 옵트아웃 키워드로 답장
- API를 통해
enabled를false로 설정 - 대시보드의 옵션 버튼을 통해 구독 취소
- 사용자가 “START” 또는 기타 옵트인 키워드로 답장
- API를 통해
enabled를true로 설정 - 대시보드의 옵션 버튼을 통해 다시 구독
구독 가져오기 또는 마이그레이션
다음을 사용하여 다른 제공업체에서 푸시 토큰, 이메일 주소 및 전화번호를 가져오세요:OneSignal로 마이그레이션
다른 제공업체에서 푸시 토큰, 이메일 및 전화번호를 가져오세요.
구독 삭제
다음을 위해 구독을 삭제할 수 있습니다:- 데이터 개인정보 보호
- 비활성 레코드 정리
사용자 삭제
개인정보 보호 또는 정리를 위해 구독 및 사용자 데이터를 삭제하세요.
무료 플랜에서는 18개월 이상 활동이 없는 구독이 자동으로 삭제됩니다.
FAQ
푸시 구독 상태는 언제 업데이트되나요?
푸시 구독 상태는 두 가지 메커니즘을 통해 업데이트됩니다: 1. 사용자가 앱 또는 사이트를 열 때 OneSignal SDK는 푸시 토큰이 유효한지, 알림 권한이 여전히 허용되었는지 확인한 후 즉시 구독 상태를 업데이트합니다. 예를 들어 사용자가 기기 설정에서 푸시 알림을 비활성화한 후 앱을 다시 열면 SDK가 변경 사항을 감지하고 즉시 구독을 구독 취소됨으로 표시합니다. SDK의 구독 관찰자(모바일 | 웹)를 사용하여 이러한 변경 사항을 캡처하고 자체 데이터베이스와 동기화할 수 있습니다. 2. 푸시 알림을 보낼 때 사용자가 앱을 제거하거나, 브라우저 데이터를 지우거나, 푸시를 비활성화하고 다시 돌아오지 않으면 OneSignal은 알림을 보낼 때까지 변경 사항을 감지할 수 없습니다. 푸시 서비스(FCM, APNs, HMS)가 토큰을 유효하지 않다고 보고하면 OneSignal은 구독을 구독 취소됨으로 표시합니다. 이 감지는 일반적으로 2개 이상의 메시지가 필요합니다. 푸시 서비스는 유효하지 않은 토큰을 즉시 거부하지 않기 때문입니다:| 전송 | 발생하는 일 |
|---|---|
| 메시지 1 | 기기에 전달됨. 이후 사용자가 기기 설정에서 구독을 취소하거나 앱을 제거합니다. |
| 메시지 2 | 푸시 서비스가 메시지를 수락하지만 기기에서 받지 못합니다. 푸시 서비스가 아직 토큰을 거부하지 않았기 때문에 OneSignal은 “전달됨”으로 보고합니다. |
| 메시지 3 | 푸시 서비스가 토큰을 거부합니다. OneSignal이 구독을 구독 취소됨으로 표시합니다. |
| 메시지 4 이상 | OneSignal이 이 구독에 대한 전달을 시도하지 않습니다. |
모든 사용자에게 장기간 전송하지 않으면 구독 취소가 자동으로 누적되어 전송을 재개할 때 대규모 급증으로 나타납니다. 구독 취소를 점진적으로 감지하려면 한 달에 한두 번 이상 모든 사용자에게 전송하세요. 구독 취소 급증에 대한 자세한 내용은 FCM 만료 토큰 FAQ를 참조하세요.
사용자가 기기 설정에서 알림을 끄고 앱을 다시 열지 않으면 어떻게 되나요?
구독은 해당 기기에 알림을 보낼 때까지 OneSignal에서 구독됨으로 표시된 상태로 유지됩니다. 2번 이상 전송 시도 후 푸시 서비스가 토큰을 유효하지 않다고 보고하면 OneSignal이 구독을 구독 취소됨으로 표시합니다. 전체 순서는 위의 푸시 구독 상태는 언제 업데이트되나요?를 참조하세요.관련 페이지
사용자
OneSignal 사용자 모델, 별칭, 그리고 사용자와 구독의 관계.
테스트 구독
기기를 찾아 테스트 구독으로 표시하여 더 쉽게 테스트하세요.
사용자 삭제
개인정보 보호 또는 정리를 위해 구독 및 사용자 데이터를 삭제하세요.
OneSignal로 마이그레이션
다른 제공업체에서 푸시 토큰, 이메일 및 전화번호를 가져오세요.