리워드 비디오 광고
1 : 준비
2 : 광고 요청과 표출
SDK 초기화를 하지 않았다면, 사이트에서 발급받은 Media ID를 입력하여 초기화를 호출합니다.
사이트에서 발급받은 Slot ID를 입력하여 RewardedVideoAd 객체를 생성합니다.
광고 요청과 표출로 메소드가 각각 나누어져 있습니다.
광고 요청시 load() 메소드를 호출하고, 표출 시 show()를 호출합니다.
광고 컨텐츠가 로드되지 않을 가능성이 있기에 isLoaded()를 통해 확인 후 show() 메소드를 호출합니다.
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 : SSV (Server-side verification) 설정
SSV 설정은 선택사항으로 필요한 경우에만 설정하여 사용할 수 있습니다.
SSV 설정은 보상 이벤트가 발생될 때 개발사에서 등록한 Callback URL을 Server to Server 방식으로 호출을 하기 위한 설정입니다.
SSV 설정에 대한 호출 조건은 아래와 같습니다.
대시보드를 통해 Callback URL (SSV URL)이 등록되어 있어야 합니다.
비디오 시청 완료 후 보상 이벤트가 발생해야 합니다.
필요한 경우, 광고 요청 전에 SDK를 통해 USER ID 및 CUSTOM DATA 정보를 설정합니다.
클라이언트에서 설정한 USER ID 와 CUSTOM DATA 정보가 있다면 Callback URL (SSV URL)에 포함되어 호출하도록 적용되어 있습니다.
(예시) https://callback_url?param=value&userid=valule&customdata=value
해당 설정은 반드시 광고 요청 전에 호출해야 정상적으로 데이터가 Callback URL (SSV URL)에 포함됩니다.
SDK v1.9.9 이상에서 동작하며 이전 버전에서는 동작하지 않습니다.
rewardedVideoAd.setUserIdForSSV("<USER_ID>");
rewardedVideoAd.setCustomDataForSSV("<CUSTOM_DATA>");
4 : 광고 리스너 사용
광고 요청에 대한 이벤트를 수신할 수 있습니다.
광고 수신 후 바로 노출하지 않는 경우에는 onRewardedVideoFinished 에서 광고를 재요청하는 로직을 추천합니다.
에러코드를 통해 광고 실패에 대한 이유를 알 수 있습니다.
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;
}
}
});
Last updated