리워드 비디오 광고
1 : 준비
2 : 액티비티 추가
AndroidManifest.xml
에서<application>
태그 안에 activity를 추가한다.
<activity
android:name="com.gomfactory.adpie.sdk.videoads.VideoFullScreenActivity"
android:configChanges="keyboardHidden|orientation|screenSize" />
3 : 광고 요청과 표출
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();
}
4 : 광고 타겟팅
타겟팅 적용으로 보다 높은 수익을 얻을 수 있다.
형태 : 성별, 위치, 나이 또는 출생일(YYYY)
TargetingData targetingData = new TargetingData.Builder()
.setGender(TargetingData.Gender.MALE)
.setAge(30)
.setYearOfBirthday(1970)
.build();
// 광고 요청시 타겟팅 정보를 넣어준다.
rewardedVideoAd.load(targetingData);
5 : 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>");
6 : 광고 리스너 사용
광고 요청에 대한 이벤트를 수신할 수 있다.
광고 수신 후 바로 노출하지 않는 경우에는 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