메인 콘텐츠로 건너뛰기

개요

OneSignal에서 사용자는 메시징 채널(모바일 푸시, 웹 푸시, 이메일 및 SMS) 전반에서 하나 이상의 구독을 가진 개인을 나타냅니다.
  • 각 사용자는 최대 20개의 구독을 가질 수 있습니다.
  • 모든 사용자에게는 OneSignal ID (UUID v4)가 자동으로 할당됩니다.
  • 사용자는 External ID를 할당할 때까지 익명으로 시작합니다. External ID를 할당하면 구독이 함께 연결되며 사용자가 앱에 이미 존재하는 경우 기존 OneSignal ID를 대체할 수 있습니다.
  • 사용자와 구독에는 서로 다른 속성이 있습니다. 예를 들어 태그는 사용자 수준에 저장되는 반면 구독 상태 (옵트인/아웃)는 구독에 속합니다.
  • 사용자 컨텍스트가 변경되는 경우(예: 로그인(익명 → 식별됨) 또는 계정 전환(UserA → UserB)) 구독이 이전 사용자에서 새 사용자로 재할당됩니다.
    • 구독은 이제 새 사용자의 속성을 상속합니다.
    • 이전 사용자에 연결된 속성(예: 태그, 언어 또는 External ID)은 더 이상 적용되지 않습니다.
예시:
  • UserA에는 태그 premium=true가 있습니다
  • UserB에는 태그 premium=false가 있습니다
  • 구독이 UserA에서 UserB로 이동하면 더 이상 premium=true와 연결되지 않고 대신 UserB의 속성을 반영합니다.

익명 사용자 vs. 식별된 사용자

  • 익명 사용자: External ID가 없음 → 각 구독이 자체 OneSignal ID로 별도로 존재(별도의 사용자로 취급됨).
  • 식별된 사용자: External ID가 있음 → OneSignal은 모든 구독을 단일 OneSignal ID로 병합합니다.
예시: 익명 사용자
  • 웹 푸시 구독 → OneSignal_ID_1
  • 모바일 구독 → OneSignal_ID_2
  • 이메일 구독 → OneSignal_ID_3
  • SMS 구독 → OneSignal_ID_4
  • 결과: 4명의 사용자(각 구독은 고유한 속성을 가진 별도의 사용자)
예시: 식별된 사용자
  • External ID External_ID_A가 있는 웹 푸시 구독 → OneSignal_ID_1
  • 동일한 External_ID_A가 있는 모바일 구독 → OneSignal_ID_1로 병합됨
  • 동일한 External_ID_A가 있는 이메일 구독 → OneSignal_ID_1로 병합됨
  • 동일한 External_ID_A가 있는 SMS 구독 → OneSignal_ID_1로 병합됨
  • 결과: 4개의 구독을 가진 1명의 사용자(모두 동일한 사용자에 연결됨)
항상 External ID를 할당하세요. 이렇게 하면 채널 및 기기 전반의 구독이 단일 사용자 프로필로 통합되고 중복이 방지됩니다.
  • 안정적이고 일반적이지 않은 식별자(예: 내부 사용자 ID 또는 이메일 주소)를 사용하세요.
  • 앱 수명 주기 초기에 OneSignal.login을 호출하세요.

사용자 속성

속성설명
채널사용자가 가진 구독(예: 푸시, 이메일 또는 SMS).
OneSignal ID각 사용자에 대해 OneSignal에서 자동 생성한 UUID v4입니다. External ID를 할당하면 변경될 수 있습니다.
마지막 세션앱 상호작용의 최신 타임스탬프입니다.
첫 세션OneSignal에서 사용자가 처음 생성된 시간입니다.
이메일가장 최근 이메일 구독의 이메일입니다.
전화가장 최근 SMS 구독의 전화번호입니다.
IP 주소최근 업데이트된 구독의 IP 주소입니다.
External ID시스템과 사용자를 통합하기 위해 할당하는 고유 식별자입니다.
태그사용자 지정 메타데이터(예: 기본 설정, 동작). 데이터 태그를 참조하세요.
위치모바일 구독의 GPS 좌표(위치 추적이 활성화된 경우). 위치 트리거 알림을 참조하세요.
표준 시간대SDK에서 설정한 IANA TZ 형식timezone_id입니다. API를 통해 업데이트할 수 있습니다.
언어ISO 639-1 형식의 사용자 언어입니다. API 또는 setLanguage를 통해 업데이트할 수 있습니다.
별칭mixpanel_id : 1234와 같은 키-값 쌍입니다. 별칭을 참조하세요.

OneSignal ID

OneSignal ID는 사용자를 고유하게 나타내기 위해 생성된 내부 UUID v4입니다. 다음과 같은 시나리오에서 자동으로 생성됩니다:
  • 모바일 앱을 처음 열거나 재설치한 후
  • 새 웹 푸시 구독
  • 사용자 생성 또는 CSV 가져오기를 통해 사용자/구독 생성
  • 브라우저 캐시를 지우고 사이트로 돌아감
  • OneSignal.logout으로 로그아웃
OneSignal.login을 통해 External ID를 사용하면 현재 구독에 연결된 기존 OneSignal ID가 해당 External ID와 연결된 ID로 대체됩니다. 플랫폼 전반(푸시, 이메일, SMS)의 구독은 동일한 External ID를 공유하는 경우 동일한 OneSignal ID로 병합됩니다.

재할당 및 동작

사용자가 앱을 재설치하거나 캐시를 지우면 새 OneSignal ID 및 구독이 생성됩니다. 그러나 OneSignal.login을 호출하면 새 구독이 원래 사용자 프로필에 다시 연결됩니다. OneSignal.User.addEmail 또는 addSms를 통해 추가된 구독은 현재 OneSignal ID를 상속합니다. SDK 참조:

External ID

External ID는 기기 및 구독 전반에서 사용자를 추적하기 위해 할당하는 고유 문자열입니다.

External ID를 사용하여 구독 전반에서 사용자를 추적합니다.

다음을 통해 External ID를 설정하거나 제거할 수 있습니다:

제한된 ID

External ID에 플레이스홀더 값이나 임시 값을 사용하지 마세요. 다음 값은 External ID에 사용할 수 없습니다:
  • NA
  • NULL
  • -1
  • 0
  • 1
  • all
  • 00000000-0000-0000-0000-000000000000

동일한 기기의 여러 사용자

여러 사용자가 기기를 공유하는 경우 각 새 로그인은 다른 External ID로 OneSignal.login 호출을 트리거해야 합니다. 이렇게 하면 OneSignal ID 및 구독이 새 사용자에게 재할당됩니다. 로그아웃을 처리하려면 다음을 수행하여 사용자 컨텍스트를 제거할 수 있습니다:
  • OneSignal.logout() 호출 → External ID를 지우고 이전 사용자 속성(태그, 별칭 등)을 제거하며 익명 OneSignal ID를 할당합니다.
  • 선택적으로 optOut을 사용하여 알림을 비활성화하고 다시 로그인할 때 optIn으로 다시 활성화합니다.

월간 활성 사용자(MAU)

MAU는 청구에 사용되며 30일 청구 기간 내에 마지막 세션이 있는 모바일 구독으로 정의됩니다. 여기에는 다음이 포함됩니다:
  • SDK를 통해 모바일 구독을 생성하여 처음으로 앱을 여는 사용자
  • 앱을 재설치하고 다시 열어 SDK를 통해 다른 모바일 구독을 생성하는 사용자
  • API를 통해 가져온 사용자

MAU 청구 예시

사용자에게 다음 구독이 있는 경우:
  • iOS 모바일 (지난 30일 동안 활성)
  • Android 모바일 (지난 30일 동안 활성)
  • 웹 푸시
  • 이메일
  • SMS
iOS 및 Android 모바일 구독만 계산되어 2 MAU가 됩니다. 구독 상태는 MAU 청구에 영향을 미치지 않습니다.

MAU 줄이기 (예: 페이월 사용 사례)

모바일 SDK 개인정보 보호 메서드를 사용하여 SDK 초기화 및 구독 생성을 지연시킬 수 있습니다.
  1. SDK를 초기화하기 전에 setConsentRequired() 호출 – 구독 자동 생성을 방지합니다
  2. 사용자에 대한 구독을 생성할 준비가 되면 setConsentGiven() 호출