🗂️
ONE AdMax Developer Guides
KR
KR
  • 00. about ONE AdMax
  • 01. 매체 키 발급 방법
  • 02. 플레이스먼트 키 발급 방법
  • 03. SDK for Java
    • 3-1. 보상형 비디오 광고
    • 3-2. 전면 광고
    • 3-3. 배너 광고
    • 3-4. 전면 비디오 광고 (비보상형)
  • 04. Unity-Plugin Guide
    • 4-1. 보상형 비디오 광고 for Unity
    • 4-2. 전면 광고 for Unity
    • 4-3. 배너 광고 for Unity
    • 4-4. 전면 비디오 광고 for Unity (비보상형)
  • 05. Flutter-Plugin Guide
    • 5-1. 보상형 비디오 광고 for Flutter
    • 5-2. 전면 광고 for Flutter
    • 5-3. 배너 광고 구현하기
    • 5-4. 전면 비디오 광고 for Flutter (비보상형)
  • 📌미디에이션 시작하기
  • ONE AdMax SDK Error Codes
  • SDK Version 안내 사항
    • SDK 1.2.0
    • SDK 1.0.2
Powered by GitBook
On this page
  • UserID Settings
  • 보상형 비디오 광고 인스턴스 생성
  • 보상형 비디오 광고 PLACEMENT ID 설정
  • 리워드 비디오 광고요청 네트워크 타임아웃
  • 리워드 비디오 광고 요청
  • 리워드 비디오 광고 노출
  • 리워드 비디오 광고 노출 Activity 지정
  • 리워드 비디오 광고 로드 여부 확인
  • 리워드 비디오 광고 이벤트 리스너 설정
  • CS 페이지 호출
  • 리워드 비디오 광고 샘플 코드
  • 미디에이션 설정(Mediation Settings)
  1. 03. SDK for Java

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

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

UserID Settings

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

ONEAdMax.setUserId( context, UserID );

꼭 확인해주세요!

  1. 1명의 유저는 가변적인 값이 아닌 1개의 고유한 유저식별값을 가져야 합니다.

  2. 개인정보( 이메일, 이름, 전화번호, 식별 가능한 유저 아이디 등 )가 포함되어서는 안됩니다.

  3. 한글, 특수문자, 공백 등이 포함된 경우에는 반드시 URL 인코딩 처리를 하여 사용하여야 합니다.

  4. 유저가 광고에 진입하기 전에 설정되어야 합니다.

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

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의 미디에이션 작업을 추천합니다.

Previous03. SDK for JavaNext3-2. 전면 광고

Last updated 5 months ago

ONE AdMax SDK Error Codes
📌미디에이션 시작하기