> ## 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의 기본 수신 거부 링크를 브랜드화되고 다국어 및 개인화된 이메일 기본 설정 페이지로 교체하는 방법을 알아보세요.

## 개요

OneSignal은 사용자가 쉽게 구독을 취소하고 [구독 상태](./subscriptions)가 실시간으로 업데이트되도록 이메일 템플릿에 링크를 삽입하는 [기본 이메일 규정 준수 수신 거부 경험](./unsubscribe-links-email-subscriptions)을 제공합니다. 브랜딩, 카피 및 필드(예: 카테고리 옵트아웃)를 완전히 제어하려는 경우 기본 링크를 자체 사용자 지정 페이지로 교체하고 OneSignal API를 사용하여 사용자 기본 설정을 구독 취소하거나 업데이트할 수 있습니다.

이 가이드는 이메일에 자체 사용자 지정 수신 거부 페이지를 추가하는 방법(기본 OneSignal 링크 제거)과 사용자의 이메일 구독을 취소하는 데 사용할 API를 설명합니다.

사용자 지정 수신 거부 페이지에 더 많은 기능(모든 이메일 대신 특정 이메일 카테고리에서 옵트아웃하는 것과 같은)을 추가하려면 [기본 설정 센터](./preference-center) 튜토리얼에 자세히 설명되어 있습니다.

***

## OneSignal의 기본 수신 거부 링크 제거

OneSignal은 이메일 템플릿에 `[unsubscribe_url]` 형식의 특수 링크를 자동으로 삽입합니다. 이 URL은 OneSignal의 모든 이메일에서 사용자를 구독 취소합니다. 자세한 내용은 [이메일 수신 거부 링크](./unsubscribe-links-email-subscriptions)를 참조하세요.

자체 페이지를 사용하려면 템플릿에서 **기본 링크를 찾아 제거**하세요.

<Tabs>
  <Tab title="드래그 앤 드롭 편집기">
    드래그 앤 드롭 편집기에서 기본 링크는 다음과 같이 중첩되어 나타날 수 있습니다:

    <Frame caption="드래그 앤 드롭 편집기 수신 거부 링크">
      <img src="https://mintcdn.com/onesignal/0qspEXXeJ8zJbkJ-/images/docs/82cc033-Default_Unsubscribe.png?fit=max&auto=format&n=0qspEXXeJ8zJbkJ-&q=85&s=3c507499bbc29854761df1136f8c0ff4" alt="드래그 앤 드롭 편집기 수신 거부 링크" width="1598" height="1203" data-path="images/docs/82cc033-Default_Unsubscribe.png" />
    </Frame>
  </Tab>

  <Tab title="HTML 편집기">
    ```html theme={null}
    <a href="[unsubscribe_url]">Unsubscribe</a>
    ```
  </Tab>
</Tabs>

***

## 사용자 지정 수신 거부 링크 추가

이제 특수 링크를 제거했으므로 자체 URL로 교체할 수 있습니다.

많은 경우 이러한 링크는 페이지에 전달해야 할 추가 데이터가 필요합니다. [Liquid 변수](./message-personalization)를 사용하여 OneSignal 데이터를 페이지에 전달하세요.

일반 매개변수:

| 매개변수                             | 설명               |
| -------------------------------- | ---------------- |
| `subscription.email`             | 구독자의 이메일 주소      |
| `subscription.external_id`       | 사용자의 외부 ID       |
| `app.id`                         | OneSignal 앱 ID   |
| `message.id`                     | 이메일 알림의 ID       |
| `subscription.language`          | 선호 언어(현지화용)      |
| `subscription.unsubscribe_token` | API 확인을 위한 보안 토큰 |

**예제 URL:**

```liquid theme={null}
https://examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}
```

```html HTML theme={null}
  <div style="text-align: center;">
    <a
      href="https://examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
      data-disable-tracking="true"
      style="display: inline; text-decoration: none;"
    >
      Unsubscribe
    </a>
    <p style="display: inline;"> from our emails</p>
  </div>
```

<Frame caption="사용자 지정 수신 거부 링크 추가">
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0c94ab0-HTML_unsubscribe_custom.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=e931f0e8649ea80d29194e0db2722942" alt="사용자 지정 수신 거부 링크 추가" width="1606" height="1175" data-path="images/docs/0c94ab0-HTML_unsubscribe_custom.png" />
</Frame>

### 클릭 추적 비활성화

수신 거부 클릭은 일반적으로 참여 메트릭에 사용되지 않습니다. 링크 추적을 비활성화하려면 다음과 같이 링크에 `data-disable-tracking="true"` 속성을 추가할 수 있습니다:

```html HTML theme={null}
  <a
    href="https://www.examplesite.com/unsubscribe?app_id={{app.id}}&notification_id={{message.id}}&email={{subscription.email}}&language={{subscription.language}}&token={{subscription.unsubscribe_token}}"
    data-disable-tracking="true"
  >
    Unsubscribe
  </a>
```

**공급자별 속성:**

| 공급자       | 속성                             |
| --------- | ------------------------------ |
| OneSignal | `data-disable-tracking="true"` |
| Mailgun   | `disable-tracking=true`        |
| SendGrid  | `clicktracking=off`            |
| Mandrill  | `mc:disable-tracking`          |

***

## 사용자 지정 수신 거부 페이지 호스팅

다음을 수행하는 웹 페이지를 배포하세요:

* 수신 거부 링크에서 쿼리 매개변수를 읽습니다.
* 사용자 친화적인 옵트아웃 또는 기본 설정 옵션을 표시합니다.
* API를 통해 OneSignal에 수신 거부 또는 업데이트 요청을 보냅니다.

<Info> 포크하고 배포할 수 있는 작동하는 [GitHub 샘플 프로젝트](https://github.com/OneSignalDevelopers/custom-email-unsubscribe-page-sample)를 제공합니다. </Info>

<Frame caption="샘플 수신 거부 페이지 UI">
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/75a39d1-Github_page.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=4d1b004b41a3ad4bd3e7c4f76da7e9fc" alt="샘플 수신 거부 페이지" width="1448" height="1438" data-path="images/docs/75a39d1-Github_page.png" />
</Frame>

***

## OneSignal API 호출

사용 사례에 따라 다음 API를 사용하여 사용자 기본 설정을 구독 취소하거나 업데이트할 수 있습니다:

* [Update Subscription by Token](/reference/update-subscription-by-token)
* [Unsubscribe Email with Token](/reference/unsubscribe-with-token)
* [Update User](/reference/update-user)

<Tabs>
  <Tab title="토큰으로 구독 업데이트">
    이 API는 사용자의 이메일 주소가 있고 모든 이메일에서 구독하거나 구독을 취소하려는 경우에 가장 일반적으로 사용됩니다.

    **필수 쿼리 매개변수:**

    * `app_id`
    * `token`

    **인증 필요**

    * 서버에서 이 API를 호출하세요.
  </Tab>

  <Tab title="토큰으로 이메일 수신 거부">
    특정 이메일이 수신 거부를 유발했는지 추적하려는 경우 이 API를 사용하세요. 이메일 메시지 ID를 사용하여 수신 거부를 추적합니다. 자세한 내용은 [Unsubscribe Email with Token](/reference/unsubscribe-with-token) API를 참조하세요.

    **필수 쿼리 매개변수:**

    * `app_id`
    * `notification_id`
    * `token`

    **선택적 매개변수:**

    * `email`
    * `language`

    **JavaScript 예제:**

    ```javascript JavaScript theme={null}
    const unsubscribeURL = (href) => {
      const unsubscribeURL = new URL(href)
      const appID = unsubscribeURL.searchParams.get("app_id")
      const notificationID = unsubscribeURL.searchParams.get("notification_id")
      const unsubscribeToken = unsubscribeURL.searchParams.get("token")
      const language = unsubscribeURL.searchParams.get("language")
      const email = unsubscribeURL.searchParams.get("email")
      return {
        unsubscribeURL: `https://api.onesignal.com/apps/${appID}/notifications/${notificationID}/unsubscribe?token=${unsubscribeToken}`,
        meta: { language, email },
      }
    }
    ```
  </Tab>

  <Tab title="사용자 업데이트">
    [Update User](/reference/update-user) API를 사용하여 사용자의 기본 설정을 업데이트하세요.

    **필수 쿼리 매개변수:**

    * `app_id`
    * `alias_id` - 사용자의 외부 ID를 권장합니다.

    **인증 필요**

    * 서버에서 이 API를 호출하세요.
  </Tab>
</Tabs>

***

<Check>
  이제 사용자 지정 수신 거부 페이지 만들기에 대해 알아야 할 모든 것을 갖추었습니다.
</Check>

***
