3-1. 보상형 비디오 광고
비디오 시청 완료 후 유저에게 리워드를 제공하는 비디오 광고 입니다. 광고 완료 시 Complete event Callback 으로 광고 참여 완료 정보를 전달합니다.
UserID Settings
유보상형 비디오 시청 완료 시 리워드 지급 유저를 식별하기 위해 사용됩니다.
ONEAdMax.setUserId( context, UserID );
꼭 확인해주세요!
1명의 유저는 가변적인 값이 아닌 1개의 고유한 유저식별값을 가져야 합니다.
개인정보( 이메일, 이름, 전화번호, 식별 가능한 유저 아이디 등 )가 포함되어서는 안됩니다.
한글, 특수문자, 공백 등이 포함된 경우에는 반드시 URL 인코딩 처리를 하여 사용하여야 합니다.
유저가 광고에 진입하기 전에 설정되어야 합니다.
보상형 비디오 광고 인스턴스 생성
private OAMRewardVideo rewardVideo;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
rewardVideo = new OAMRewardVideo( this );
}
보상형 비디오 광고 PLACEMENT ID 설정
ONE AdMax 콘솔에서 발급 받은 PLACEMENT ID를 다음과 같이 적용합니다.
rewardVideo.setPlacementId( PLACEMENT_ID );
리워드 비디오 광고요청 네트워크 타임아웃
리워드 비디오 광고요청에 대한 네트워크 타임아웃을 설정합니다. 리워드 비디오 광고 로딩 시 각 네트워크( 미디에이션 업체 )별로 타임아웃 시간을 주어 해당 시간 안에 광고를 받지 못할 경우, 다음 네트워크로 넘어가게 됩니다.
rewardVideo.setNetworkScheduleTimeout( 10 ); // default 10 sec
리워드 비디오 광고 요청
리워드비디오 광고 Load()
API를 호출하여 서버에 광고를 요청합니다.
rewardVideo.load();
과도한 load() api 호출은 block 사유가 됩니다.
리워드 비디오 광고 노출
광고 로드가 완료되면 광고를 노출을 원하는 시점에 Show()
API를 호출하여 화면에 노출 시킵니다.
rewardVideo.show();
리워드 비디오 광고 노출 Activity 지정
리워드 비디오 광고의 노출이 load() 를 호출한 activity 가 아닌 다른 activity에 노출되도록 할때 사용합니다.
rewardVideo.setCurrentActivity( activity );
리워드 비디오 광고 로드 여부 확인
리워드 비디오 광고 로드 시 광고 유/무를 파악할 때 호출 합니다.
rewardVideo.isLoaded();
리워드 비디오 광고 이벤트 리스너 설정
리워드 비디오를 불러올 때 발생하는 이벤트에 대한 리스너를 설정합니다.
rewardVideo.setEventListener( new IOAMRewardVideoEventListener(){
@Override
public void onLoaded(){ // 리워드 비디오 광고 loading 성공
Log.d( Tag, "rewardVideo load success" );
}
@Override
public void onLoadFailed( OAMError error ){ // 리워드 비디오 광고 loading 실패
Log.d( Tag, "rewardVideo load failed " + error.toString() );
}
@Override
public void onOpened(){ // 리워드 비디오 광고 open 성공
Log.d( Tag, "rewardVideo open success" );
}
@Override
public void onOpenFailed( OAMError error ){ // 리워드 비디오 광고 open 실패
Log.d( Tag, "rewardVideo open failed " + error.toString() );
}
@Override
public void onClosed(){ // 리워드 비디오 광고 종료
Log.d( Tag, "rewardVideo closed " + event );
}
@Override
public void onClicked(){ // 리워드 비디오 광고 클릭. 일부 미디에이션 광고는 지원 안함
Log.d( Tag, "rewardVideo clicked" );
}
@Override
public void onCompleted( int adNetworkNo, boolean completed ){ // 리워드 비디오 광고 완료. on completed 에서 completed 가 true 일 때만 리워드 지급
Log.d( Tag, "rewardVideo completed " + completed );
}
} );
CS 페이지 호출
보상형 비디오 광고 CS 페이지를 호출하는 API 입니다. Activity context 를 넘겨주어야 정상적으로 페이지가 노출 됩니다.
ONEAdMax.openRewardVideoCSPage( Activity activity, String userID )
리워드 비디오 광고 샘플 코드
private OAMRewardVideo rewardVideo;
@Override
protected void onCreate( Bundle savedInstanceState ){
super.onCreate( savedInstanceState );
...
// ONEAdMax 로그 활성화. apk release시에는 삭제해야 합니다.
ONEAdMax.setLogEnable( true );
//ONEAdMax SDK 초기화
if( ONEAdMax.isInit( MyActivity.this ) == false ){
ONEAdMax.init( MyActivity.this, new IOAMInitListener() {
@Override
public void onInitialized() {
Log.d( Tag, "ONEAdMax SDK Initialized.");
initRewardVideo( yourRewardPlacementID );
}
});
}
...
}
public void initRewardVideo( String yourPlacementId ){
rewardVideo = new OAMRewardVideo( this );
// placementID는 필수입니다.
rewardVideo.setPlacementId( yourPlacementId );
// optional
rewardVideo.setNetworkScheduleTimeout( 10 );
// listener를 등록하지 않으면 이벤트를 받을 수 없습니다.
rewardVideo.setEventListener( new IOAMRewardVideoEventListener(){
@Override
public void onLoaded(){ // 리워드 비디오 광고 loading 성공
Log.d( Tag, "rewardVideo load success" );
// loading 성공 이후, showing.
rewatdVideo.show();
}
@Override
public void onLoadFailed( OAMError error ){ // 리워드 비디오 광고 loading 실패
Log.d( Tag, "rewardVideo load failed " + error.toString() );
}
@Override
public void onOpened(){ // 리워드 비디오 광고 open 성공
Log.d( Tag, "rewardVideo open success" );
}
@Override
public void onOpenFailed( OAMError error ){ // 리워드 비디오 광고 open 실패
Log.d( Tag, "rewardVideo open failed " + error.toString() );
}
@Override
public void onClosed(){ // 리워드 비디오 광고 종료
Log.d( Tag, "rewardVideo closed " + event );
}
@Override
public void onClicked(){ // 리워드 비디오 광고 클릭. 일부 미디에이션 광고는 지원 안함
Log.d( Tag, "rewardVideo clicked" );
}
@Override
public void onCompleted( int adNetworkNo, boolean completed ){ // 리워드 비디오 광고 완료
Log.d( Tag, "rewardVideo completed. " + completed );
}
} );
rewardVideo.load();
}
@Override
protected void onDestroy(){
super.onDestroy();
ONEAdMax.unInit();
}
미디에이션 설정(Mediation Settings)
안정적인 Fill-rate 및 eCPM을 위해 AppLovin, Unityads, Vungle의 미디에이션 작업을 추천합니다.
📌미디에이션 시작하기Last updated