> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 기본 설정 센터

> OneSignal API를 사용하여 앱 또는 웹사이트에서 알림 주제, 빈도, 채널 및 데이터 개인정보 보호 설정을 관리하는 사용자 지정 사용자 기본 설정 센터를 구현하는 방법을 알아보세요.

## 기본 설정 센터란 무엇인가요?

기본 설정 센터는 사용자가 받는 메시지의 방법과 종류를 제어할 수 있는 앱 또는 웹사이트의 페이지입니다. 기본 설정 센터를 만드는 이유와 자세한 내용은 [사용자 기본 설정 센터 가이드](https://onesignal.com/blog/a-guide-to-user-preference-centers)를 참조하세요.

이 가이드에서는 OneSignal의 API를 사용하여 앱 또는 웹사이트에 사용자 기본 설정 센터를 포함하는 데 필요한 기술적 설정을 설명합니다. 이 가이드에서는 다음 방법에 대해 설명합니다:

* [Data Tag](./add-user-data-tags)로 주제, 카테고리 및 빈도 제어 할당
* 새로운 통신 채널(푸시 알림, 이메일, SMS) 수집
* 사용자가 옵트아웃하려는 경우 통신 채널 비활성화
* 데이터 규정 준수 처리
* 사용자 데이터 삭제

## 요구 사항

* OneSignal의 Mobile SDK 버전 5+ 및/또는 Web SDK 16+
* [External ID 또는 Alias](./users) 설정
* OneSignal은 기본 설정 센터 레이아웃을 만들기 위한 API를 제공하지 않으며 User 및 Subscription을 GET, PATCH 및 DELETE하는 API만 제공합니다
  * 웹사이트가 있고 간단한 기본 설정 센터가 필요한 경우 [Category 프롬프트](./permission-requests)를 사용해 보세요

### 추가 권장 자료

* [사용자 기본 설정 센터 가이드](https://onesignal.com/blog/a-guide-to-user-preference-centers)
* [OneSignal SDK에서 수집하는 데이터](./data-collected-by-the-onesignal-sdk)
* [개인 데이터 처리](./handling-personal-data)

## 설정

사용자가 기본 설정 센터에 도착하면 [View user](/reference/view-user) API를 사용하여 `external_id` 또는 설정한 사용자 지정 Alias를 기반으로 사용자에 대한 OneSignal 데이터를 가져오세요. 이렇게 하면 사용자 `properties` 및 `subscriptions`이 제공됩니다. 유용한 데이터는 다음을 포함하지만 이에 국한되지 않습니다:

* `properties`: 사용자 데이터
  * `tags` - OneSignal에 보내는 사용자 지정 데이터
  * `language` - 사용자의 언어 코드
* `subscriptions`: 메시징 채널 및 구독 상태
  * `id` - Subscription ID
  * `type` - `Email`, `SMS`, \*Push(`AndroidPush`, `iOSPush`, `ChromePush`, `SafariPush` 등)
  * `enabled` - `true`는 구독됨, `false`는 구독 취소됨을 의미합니다
  * `token` - 구독 유형에 따라 푸시 토큰, 이메일 주소 또는 전화번호

<CodeGroup>
  ```json json theme={null}
  {
    "properties": {
      "tags": {
        "finance": "1",
        "tech": "1",
        "sports": "1",
        "breaking-news": "0",
        "entertainment": "0",
        "deals": "0",
        "newsletter-frequency": "weekly",
        "customer_status": "Enterprise",
        "event": "1693411710",
        "first_name": "Jon",
        "last_name": "F"
      },
      "language": "en"
    },
    "subscriptions": [
      {
        "id": "sub_id_1",
        "type": "Email",
        "token": "email@example.com",
        "enabled": true
      },
      {
        "id": "sub_id_2",
        "type": "SMS",
        "token": "1234567890",
        "enabled": true
      },
      {
        "id": "sub_id_3",
        "type": "ChromePush",
        "token": "some_token_here",
        "enabled": true
      }
    ]
  }
  ```
</CodeGroup>

제공된 데이터를 사용하여 필요에 따라 기본 설정 센터를 채우세요.

## 카테고리 및 빈도 제어 할당

[Data Tag](./add-user-data-tags)를 참조하세요. Tag는 세분화 및 개인화에 사용되는 key-value 쌍입니다. 범위 기반 필터링을 활성화하려면 문자열로 인코딩된 정수 또는 타임스탬프를 사용하세요.

사용자는 관심사를 토글하거나(예: `sports: 1`) `newsletter-frequency: weekly`와 같은 빈도 Tag를 설정할 수 있습니다. 이 데이터를 [Segment](./segmentation) 또는 필터가 있는 [Create notification](/reference/create-message) API에서 사용하세요.

Tag를 업데이트하려면 [Update user](/reference/update-user) API를 호출하세요.

## 새로운 통신 채널 수집

유형 및 활성화 상태에 대한 `subscriptions`를 확인하세요. `token`은 이메일/SMS에 대해서만 표시하고 푸시에 대해서는 표시하지 마세요.

<Warning>
  연락처 정보가 시스템에 있지만 OneSignal에 아직 없는 경우 자체 DB를 대체로 사용하여 표시하세요.
</Warning>

### Email 및 SMS 업데이트

`addEmail`, `addSms` SDK 메서드 또는 [Create subscription](/reference/create-subscription) 및 [Update subscription](/reference/update-subscription) API를 사용하세요. 업데이트에는 Subscription `id`가 필요합니다.

### Push 업데이트

푸시가 활성화되어 있지 않으면 사용자에게 프롬프트를 표시하세요.

* 모바일 앱의 경우: [Push 권한 요청](./prompt-for-push-permissions)
* 웹의 경우: [기본 브라우저 프롬프트](./permission-requests) 또는 [Slide 프롬프트](./permission-requests) 사용

## 통신 채널 비활성화

[Update subscription](/reference/update-subscription)을 사용하여 `enabled`를 `false`로 설정하세요. 다시 옵트인하려면 `true`로 토글하세요.

## 데이터 규정 준수 처리

기본적으로 SDK 초기화를 방지하고 초기화하려면 사용자 동의가 필요합니다. [개인 데이터 처리](./handling-personal-data)를 참조하세요.

## 사용자 데이터 삭제

[Delete user](/reference/delete-user) API를 사용하여 OneSignal에서 사용자를 완전히 제거하세요.

***
