3-1. 보상형 비디오 광고

비디오 시청 완료 후 유저에게 리워드를 제공하는 비디오 광고 입니다. 광고 완료 시 Complete event Callback 으로 광고 참여 완료 정보를 전달합니다.

UserID Settings

유보상형 비디오 시청 완료 시 리워드 지급 유저를 식별하기 위해 사용됩니다.

ONEAdMax.setUserId( context, UserID );

꼭 확인해주세요!

보상형 비디오 광고 인스턴스 생성

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();

리워드 비디오 광고 노출

광고 로드가 완료되면 광고를 노출을 원하는 시점에 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  );
    }
 
} );
ONE AdMax SDK Error Codes

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