# 安装

> 了解如何在 Web 应用程序中安装 Web Offerwall SDK 并进行身份验证。

## 先决条件##prerequisites

要实现 Web Offerwall，必须实现[自管货币回传](../../monetization/virtual-currency/self-managed-currency)。此外，应使用发行商后台创建一个应用以访问 SDK 密钥。

## SDK 流程##sdk-flow

在渲染 Offerwall 之前，SDK 需要连接并验证当前用户。

![Web Offerwall SDK 流程图显示了 SDK 在渲染 offerwall 之前如何连接和验证当前用户。](/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** 更改时都会预加载 Webofferwall。

可向 `init` 调用中添加 `preload` 参数来停止预取 Offerwall：

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

如果要在过程的稍后进行预加载，可以调用 `preload` 方法：

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