# Installation

## Installing with a Package Manager

It can be installed as an npm package.

{% hint style="info" %}
This package can only be used in a web environment and cannot be used in Android or iOS hybrid apps (Webview).
{% endhint %}

{% tabs %}
{% tab title="npm" %}

```bash
npm install @wepin/sdk-js
```

{% endtab %}

{% tab title="yarn" %}

```bash
yarn add @wepin/sdk-js
```

{% endtab %}
{% endtabs %}

Once the installation is complete, you can check that it has been added under "dependencies" in your package.json file as shown below:

```json
{
  "dependencies": {
    "@wepin/sdk-js": "^0.0.1"
  }
}
```

Once the installation is complete, initialize the wepinSDK instance using the App ID and App Key assigned after registering the app. This will enable the use of WepinSDK.

<pre class="language-javascript"><code class="lang-javascript"><strong>// 1. Import the package
</strong>import { WepinSDK } from '@wepin/sdk-js'
<strong>
</strong>// 2. Initialization
const wepinSdk = new WepinSDK({
    appId: 'your-wepin-app-id',
    appKey: 'your-wepin-api-key',
})
</code></pre>

{% hint style="danger" %}
This package is designed to work only in **Client Side Rendering (CSR)** environments. If you are using this package in a Server Side Rendering (SSR) environment, you need to configure it so that the package is loaded only on the client side.

Refer to the following code for implementation:

```javascript
const initWepin = async () => {
    const { WepinSDK } = await import('@wepin/sdk-js');
    const wepinSDK = new WepinSDK({
        appKey: '',
        appId: '',
    });
    await wepinSDK.init({
        defaultLanguage: 'ko',
    });
}
```

{% endhint %}
