# 5-4. 전면 비디오 광고 for Flutter (비보상형)

## 사전 작업

{% content-ref url="" %}
[](https://one-admax-organization.gitbook.io/one-admax-sdk/05.-flutter-plugin-guide)
{% endcontent-ref %}

## 전면 비디오 광고 인스턴스 생성 <a href="#id-01.sdk" id="id-01.sdk"></a>

아래 코드를 추가하여 전면 비디오 광고 인스턴스를 생성합니다.

```java
OAMInterstitialVideo _oamInterstitialVideo = OAMInterstitialVideo()
```

## **전면 비디오 광고 요청** <a href="#id-01.sdk-2" id="id-01.sdk-2"></a>

전면 비디오 광고의 `load()`를 요청합니다.

매개변수로는 `placementId`와 `networkTimeout`, `InterstitialVideoCallBackListener`을 받습니다.

[전면 비디오 광고의 `placementId`는 ONE AdMax 콘솔에서 생성이 가능합니다.](https://one-admax-organization.gitbook.io/one-admax-sdk/02.)

```dart
_oamInterstitialVideo.load(
  placementId: interstitialVideoPlacementId,
);
```

{% hint style="warning" %}
과도한 광고 요청은 차단 사유가 되니 주의해주세요!
{% endhint %}

## **전면 비디오 광고 네트워크 스케줄 타임아웃** <a href="#id-01.sdk-1" id="id-01.sdk-1"></a>

전면 비디오 광고에 대한 네트워크 스케줄 타임아웃을 설정합니다.

전면 비디오 광고 로딩 시 각 네트워크( 미디에이션 업체 )별로 타임아웃 시간을 주어 해당 시간 안에 광고를 받지 못할 경우 , 다음 네트워크로 넘어가게 됩니다.

```java
_oamInterstitialVideo.load(
  networkTimeout: 10
)
```

## **전면 비디오 광고 이벤트 리스너** <a href="#id-01.sdk-4" id="id-01.sdk-4"></a>

전면 비디오 광고를 불러올 때 발생하는 이벤트에 대한 리스너를 설정합니다. 제공되는 리스너와 구현 예시는 다음과 같습니다.

```java
_oamInterstitialVideo.load(
  callback: InterstitialVideoCallBackListener(
    onLoaded: onLoaded,
    onLoadFailed: onLoadFailed,
    onOpened: onOpened,
    onOpenFailed: onOpenFailed,
    onClosed: onClosed,
    onClicked: onClicked,
);
```

{% content-ref url="../oamerror" %}
[oamerror](https://one-admax-organization.gitbook.io/one-admax-sdk/oamerror)
{% endcontent-ref %}

## **전면 비디오 광고 노출** <a href="#id-01.sdk-3" id="id-01.sdk-3"></a>

전면 비디오 광고를 보여줍니다.

```java
_oamInterstitialVideo.show();
```

## 전면 비디오 광고 메모리 해지하기 <a href="#undefined-1" id="undefined-1"></a>

전면 비디오 광고의 인스턴스 내의 메모리를 해지합니다.

```java
@override
void dispose() {
  _oamInterstitialVideo.dispose();
}
```

## 전면 비디오 광고 샘플 코드 <a href="#id-01.sdk-6" id="id-01.sdk-6"></a>

```java
_oamInterstitialVideo = OAMInterstitialVideo()

_oamInterstitialVideo.load(
  placementId: interstitialVideoPlacementId,
  callback: InterstitialVideoCallBackListener(
    onLoaded: onLoaded,
    onLoadFailed: onLoadFailed,
    onOpened: onOpened,
    onOpenFailed: onOpenFailed,
    onClosed: onClosed,
    onClicked: onClicked,
  ),
  networkTimeout: 10
);

_oamInterstitialVideo.show();

@override
void dispose() {
  _oamInterstitialVideo.dispose();
}
```
