# 초기화하기

Wepin Flutter Widget SDK를 설치한 후 다음 단계는 SDK를 초기화하는 것입니다. SDK 초기화는 `WepinWidgetSDK` 인스턴스를 생성하고, `init()` 함수를 사용하여 진행할 수 있습니다.<br>

## **Import SDK**

Wepin Flutter Widget SDK를 사용하기 위해 먼저 SDK를 가져와야 합니다. 다음과 같이 import 문을 추가합니다.

```dart
import 'package:wepin_flutter_widget_sdk/wepin_flutter_widget_sdk.dart';
import 'package:wepin_flutter_widget_sdk/wepin_flutter_widget_sdk_type.dart';
```

## WepinWidgetSDK Instance 생성 <a href="#creating-the-wepinwidgetsdk-instance" id="creating-the-wepinwidgetsdk-instance"></a>

`WepinWidgetSDK` 인스턴스를 생성하기 전에 위핀 워크스페이스에서 Android/iOS 관련 앱 정보를 등록해야 합니다.

{% content-ref url="../../../wepin/workspace/app-registration-and-key-issuance" %}
[app-registration-and-key-issuance](https://docs.wepin.io/wepin/workspace/app-registration-and-key-issuance)
{% endcontent-ref %}

등록한 앱 정보를 바탕으로 `WepinWidgetSDK` 인스턴스를 생성합니다. `main.dart` 파일의 `state init` 단계에서 `WepinWidgetSDK` 인스턴스를 생성하고 초기화해야 합니다.

{% code title="main.dart" %}

```dart
WepinWidgetSDK wepinSDK = WepinWidgetSDK(
    wepinAppKey: wepinAppKey, 
    wepinAppId: wepinAppId
);
```

{% endcode %}

## init

`Wepin Flutter Widget SDK`를 초기화할 때, 필요한 위젯 속성들을 정의할 수 있습니다.

```dart
await wepinSDK.init({WidgetAttributes? attributes});
```

#### **Parameters**

* **attributes** `<WidgetAttributes>` ***optional*****&#x20;-** 초기화 시 정의할 위젯 속성들입니다
  * **defaultLanguage**`<String>`\
    위젯의 기본 언어 설정. 기본 값은 `ko`이며, 현재 지원하는 언어는 `en`, `ko` 두 가지입니다.
  * **defaultCurrency** `<String>`\
    위젯의 기본 통화 설정. 기본 값은 `KRW`이며, 현재 지원하는 통화는 `USD`, `KRW` 두 가지입니다.

#### **Return value**

* `Future`\<void>

#### Example

```dart
await wepinSDK.init(WidgetAttributes(
    defaultLanguage: 'ko',
    defaultCurrency: 'KRW',
));
```

## isInitialized

`WepinSDK`가 정상적으로 초기화되었는지 확인할 수 있습니다.

```dart
wepinSDK.isInitialized()
```

#### **Parameters**

* None

#### **Return Value**

* **\<bool>**\
  초기화가 정상적으로 잘 된 경우 true , 실패한 경우 false 를 반환합니다.

#### **Example**

```dart
await wepinSDK.init(WidgetAttributes(
    defaultLanguage: 'ko',
    defaultCurrency: 'KRW',
));

if (wepinSDK.isInitialized()) {
  print('WepinSDK is initialized!');
}
```

## changeLanguage

위젯의 언어와 통화를 변경할 수 있습니다.

```dart
wepinSDK.changeLanguage({language, currency});
```

#### **Parameters**

* **language** `<String>`\
  위젯에 표시될 언어를 지정합니다. 현재 지원하는 언어는 `en`, `ko` 두 가지 입니다.
* **currency** `<String>`\
  위젯에 표시될 통화를 지정합니다. 현재 지원하는 통화는 `USD`, `KRW` 두 가지 입니다.

#### Example

```dart
wepinSDK.changeLanguage(
  language: 'ko',
  currency: 'KRW'
);
```
