# 리워드 비디오 광고 (1.15.1 이하)

### 1 : 준비

* [프로젝트 설정](/adpie/android/project-settings.md)을 통해 광고 연동을 위한 준비를 합니다.
* [사이트](http://my.adpies.com) 에서 매체를 등록하여 Media ID와 Slot ID 를 발급받습니다.

### 2 : 광고 요청과 표출

* SDK 초기화를 하지 않았다면, [사이트](http://my.adpies.com)에서 발급받은 Media ID를 입력하여 초기화를 호출합니다.
* 사이트에서 발급받은 Slot ID를 입력하여 RewardedVideoAd 객체를 생성합니다.
* 광고 요청과 표출로 메소드가 각각 나누어져 있습니다.
* 광고 요청시 load() 메소드를 호출하고, 표출 시 show()를 호출합니다.
* 광고 컨텐츠가 로드되지 않을 가능성이 있기에 isLoaded()를 통해 확인 후 show() 메소드를 호출합니다.

```java
private RewardedVideoAd rewardedVideoAd;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // SDK 초기화로 앱실행 1회만 호출합니다. (Main Activity 에 필수로 입력)
    AdPieSDK.getInstance().initialize(getApplicationContext(), "AdPie-Media-ID");

    ...

    // 광고 연동을 위한 슬롯 ID를 필수로 입력합니다.
    rewardedVideoAd = new RewardedVideoAd(this, "AdPie-Slot-ID");
    rewardedVideoAd.load();
}
```

### 3 : 광고 리스너 사용

* 광고 요청에 대한 이벤트를 수신할 수 있습니다.
* 광고 수신 후 바로 노출하지 않는 경우에는 onRewardedVideoFinished 에서 광고를 재요청하는 로직을 추천합니다.
* [에러코드](/adpie/android/common/errorcode.md)를 통해 광고 실패에 대한 이유를 알 수 있습니다.

```java
rewardedVideoAd.setAdListener(new RewardedVideoAd.RewardedVideoAdListener() {
	
    @Override
    public void onRewardedVideoLoaded() {
	    // 광고 로딩 완료 후 이벤트 발생

        // 광고 요청 후 즉시 노출하고자 할 경우 아래의 코드를 추가합니다.
        if (rewardedVideoAd.isLoaded()) {
            // 광고 표출
            rewardedVideoAd.show();
        }
    }

    @Override
    public void onRewardedVideoFailedToLoad(int errorCode) {
	    // 광고 요청 실패 후 이벤트 발생 
    }

    @Override
    public void onRewardedVideoClicked() {
        // 광고 클릭 후 이벤트 발생
    }

    @Override
    public void onRewardedVideoStarted() {
        // 동영상 광고 시작 알림
    }

    @Override
    public void onRewardedVideoFinished(FinishState finishState) {
        // 동영상 광고 종료 알림

        switch (finishState) {
            case ERROR: // 동영상 광고 오류
            case SKIPPED: // 동영상 광고 건너뜀
            case COMPLETED: // 동영상 광고 시청완료
                break;
        }
    }
});
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://platform-business.gitbook.io/adpie/android/integration/rewardedvideo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
