# 설치

> 웹 애플리케이션에 웹 오퍼월 SDK를 설치하고 인증하는 방법을 알아봅니다.

## 필수 조건##prerequisites

웹 오퍼월을 구현하려면 [자체 관리형 재화 포스트백](../../monetization/virtual-currency/self-managed-currency)을 구현해야 합니다. 또한 퍼블리셔 대시보드를 통해 SDK 키에 액세스하여 앱을 생성합니다.

## SDK Flow##sdk-flow

오퍼월을 렌더링하기 전에 SDK가 현재 사용자와 연결하고 인증해야 합니다.

![Web Offerwall SDK 플로 다이어그램. 렌더링하기 전에 SDK가 현재 사용자를 연결하고 검증하는 방법을 보여줍니다.](/api/media?file=/grow/media/images/SDK.flow.png)

## SDK 스니핏 추가##adding-sdk-snippet

이 스니핏을 HTML 코드에 추가합니다. 이 스니핏을 추가합니다.

```html
<script>
  (() => {
    var t, a, p, j, o, y;
    (t = window),
      (a = document),
      (p = 'https://rewards.unity.com/owp/web/sdk/latest'),
      'function' == typeof t[(j = 'Tapjoy')]
        ? t[j]('activator-reinitialized')
        : ((t[j] = function () {
            (t[j].q = t[j].q || []).push(arguments);
          }),
          (t[j].l = 1 * new Date()),
          (o = a.createElement('script')),
          (y = a.getElementsByTagName('script')[0]),
          (o.async = 1),
          (o.src = p),
          y.parentNode.insertBefore(o, y));
  })();
</script>
```

이 스니핏 이후 어디서든 SDK를 사용할 수 있습니다. 다음은 초기화 예제입니다.

```html
<script>
  Tapjoy('init', {
    sdkKey: '<SDK_KEY>',
    publisherUserId: '<USER_ID>',
    eventName: '<PLACEMENT_NAME>', // default is '#WebOfferwall'
  });
</script>
```

## 프리페치##prefetching

기본적으로 웹오퍼월은 **sdkKey** / **publisherUserId** 변경 시마다 미리 로드됩니다.

`init` 호출에 `preload` 인수를 추가하여 오퍼월의 프리페치 작업을 중지할 수 있습니다.

```javascript
Tapjoy('init', {
    ...,
    preload: false,
})
```

프로세스 후반부에 미리 로드하려면 `preload` 메서드를 호출할 수 있습니다.

```javascript
Tapjoy('preload');
```
